Aug 27, 2020 By default, the latest version of Docker is not available in the Ubuntu 20.04 default repository, so it is a good idea to add the Docker official repository in your system. First, download and add the GPG key with the following command. A minimal Ubuntu base image modified for Docker-friendliness. Baseimage-docker only consumes 8.3 MB RAM and is much more powerful than Busybox or Alpine. Baseimage-docker is a special Docker image that is configured for correct use within Docker containers. It is Ubuntu, plus: Modifications for Docker-friendliness.
Docker images within a running container do not update automatically. Once you have used an image to create a container, it continues running that version, even after new releases come out.
It is recommended to run containers from the latest Docker image unless you have a specific reason to use an older release.
In this tutorial, you will learn how to update the Docker image and container to the latest version.
The best way to update an existing container with the newest image is to download the latest image and launch a new container with the same configuration. Follow the steps listed below to update your container with the newest Docker image.
Note: This tutorial uses an example of running a MySQL Docker container to illustrate how to update the Docker image and container to the latest version.
Verify you have an outdated image, by listing the images on your system with the command:
The output displays downloaded images and their tags (version numbers). In the example below, the system shows it is using the mysql image version 5.7.31. Docker’s official MySQL images listed on DockerHub show that the latest version is 8.0.21.
Therefore, if you have a container running on that image, it is best to update it.
Note: To list only a specific image that may be outdated, use the docker images | grep [docker_image]
command to narrow the search.
Download the newer version of the image using the docker pull
command:
By default, Docker pulls the latest version. To ensure it does so, you can add the :latest
tag.
For instance, to pull the latest mysql image, you would run:
Once you downloaded the latest Docker image, you need to stop and remove the old container. Then, create a new one with the latest image.
1. Find the name of the running container with the outdated image by listing the containers on the system:
In this example, the output shows a container using the mysql/mysql-server:5.7.31 image.
2. Stop and remove the existing container so you can launch a new one under the same name:
3. Recreate the container with the docker run
command and the wanted configuration, using the updated Docker image:
If you have one, make sure to mount a Docker volume assigned to the previously used container to ensure the updated container has the same content. To do this, use the -v
option followed by the path to the volume directory.
For instance, to run an update MySQL container, you would run:
4. You can check whether your container has been updated with the latest Docker image by listing the containers with:
With this, you should have successfully updated your Docker container with the latest release of a Docker image.
Want to learn more about managing containers? Read all about best practices for managing Docker containers.
Next you should also read
Persist data in Docker containers by mounting Docker volumes to containers. You can use an existing host…
Docker containers have unlimited access to RAM and CPU memory of the host. This is not the recommended…
Entrypoint is a Docker instruction used to set up the default executable when the container is run. You can…
CMD is Docker instruction used if you need a default command which users can easily override. ENTRYPOINT is…