Table of Contents

Docker - Images - Update and Commit an Image

Pull an image

For example, to pull the Ubuntu 20.04 Docker image from the Docker Hub.

docker pull ubuntu:20.04

Create a new container

Create a new container from the Ubuntu 20.04 image.

docker run -t -i ubuntu:20.04 /bin/bash

This will create a new container and attach to the bash shell as shown below:

root@013aecdd6919:/#

Install NginX into the Container

Install the Nginx package inside the container:

root@013aecdd6919:/# apt-get update -y
root@013aecdd6919:/# apt-get install nginx -y

Exit from the Container

root@013aecdd6919:/# exit

Obtain the Container ID

Locate your new container ID:

docker ps -a

returns:

CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                       PORTS               NAMES
013aecdd6919        ubuntu:20.04        "/bin/bash"         3 minutes ago       Exited (0) 33 seconds ago                        happy_camper

Save the Updated Container

Save the updated container with a new image named nginx-instance:

docker commit "013aecdd6919" nginx-instance

Verify the newly created Image

Verify the newly created image “nginx-instance”:

docker images

returns:

REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
nginx-instance      latest              12cefc9b5362        57 seconds ago      158MB
ubuntu              20.04               d70eaf7277ea        12 days ago         72.9MB

Log in to the Docker Hub

NOTE: In order to work with the Docker Hub, you will need to create an account on Docker Hub.

docker login

returns:

Username: peter
Password: 
WARNING! Your password will be stored unencrypted in /root/.docker/config.json.
Configure a credential helper to remove this warning. See
https://docs.docker.com/engine/reference/commandline/login/#credentials-store
 
Login Succeeded

Tag the Image to push to the Docker Hub

For example, to tag the nginx-instance image:

docker tag 12cefc9b5362 peter/nginx-instance:ubuntu

where:


Verify the Tagged Image

docker images

returns:

REPOSITORY                 TAG                 IMAGE ID            CREATED             SIZE
peter/nginx-instance       ubuntu              12cefc9b5362        12 minutes ago      158MB
nginx-instance             latest              12cefc9b5362        12 minutes ago      158MB
ubuntu                     20.04               d70eaf7277ea        12 days ago         72.9MB

Push the new Image to the Docker Hub

Push the new image named peter/nginx-instance to the Docker Hub:

docker push peter/nginx-instance

Login to the Docker Hub

Login to the Docker Hub using your web browser and verify that the nginx-instance image appears in the Repositories.