Найти в Дзене
Merion Academy

Как обновить образ и контейнер Docker до последней версии

Оглавление

Образы Docker в работающем контейнере не обновляются автоматически. После того, как вы использовали образ для создания контейнера, он продолжает работать с этой версией даже после выхода новых выпусков.

Рекомендуется запускать контейнеры из последнего образа Docker, если у вас нет особой причины использовать более старую версию.

 Как обновить образ и контейнер Docker до последней версии
Как обновить образ и контейнер Docker до последней версии

В этом руководстве вы узнаете, как обновить образ и контейнер Docker до последней версии.

Обнолвение образа и контейнера Docker до последней версии

Лучший способ обновить существующий контейнер c новым образом - загрузить последний образ и запустить новый контейнер с той же конфигурацией. Следуйте инструкциям ниже, чтобы обновить свой контейнер до новейшего образа Docker.

Примечание. В этом руководстве используется пример запуска контейнера MySQL Docker, чтобы проиллюстрировать, как обновить образ и контейнер Docker до последней версии.

Шаг 1. Проверьте текущую версию

Убедитесь, что у вас устаревший образ, выведя список образов в вашей системе с помощью команды:

sudo docker images

Тут отображаются загруженные изображения и их теги (номера версий). В приведенном ниже примере система показывает, что она использует образ mysql версии 5.7.31. Официальные образы MySQL от Docker, перечисленные на DockerHub, показывают, что последняя версия - 8.0.21.

 sudo docker images
sudo docker images

Поэтому, если у вас есть контейнер, работающий с этим образом, лучше его обновить.

Чтобы указать только определенный образ, который может быть устаревшим, используйте docker images | grep [docker_image], чтобы сузить поиск.

Шаг 2. Скачайте новейший образ

Загрузите более новую версию образа с помощью команды docker pull:

docker pull [docker_image]

По умолчанию Docker загружает последнюю версию. Чтобы убедиться в этом, вы можете добавить тег :latest.

Например, чтобы получить последний образ mysql, вы должны запустить:

docker pull mysql/mysql-server:latest

Шаг 3. Запустите новый обновленный контейнер

После того, как вы загрузили последний образ Docker, вам необходимо остановить и удалить старый контейнер. Затем создайте новый с последним образом.

1. Найдите имя запущенного контейнера с устаревшим образом, перечислив контейнеры в системе:

docker ps

В этом примере на выходе показан контейнер с образом mysql / mysql-server: 5.7.31.

 docker ps
docker ps

2. Остановите и удалите существующий контейнер, чтобы вы могли запустить новый под тем же именем:

docker stop [container_id]

docker rm [container_id]

3. Воссоздайте контейнер с помощью команды docker run и желаемой конфигурации, используя обновленный образ Docker:

docker run --name=[container_name] [options] [docker_image]

Если он у вас есть, обязательно смонтируйте том Docker, назначенный ранее использовавшемуся контейнеру, чтобы обновленный контейнер имел такое же содержимое. Для этого используйте параметр -v, за которым следует путь к каталогу тома.

Например, чтобы запустить обновленный контейнер MySQL, вы должны запустить:

docker run --name=mysql --restart=always -e MYSQL_ROOT_PASSWORD=mypassword -v /path/to/directory:/var/lib/mysql -d mysql

4. Вы можете проверить, обновлен ли ваш контейнер последней версией образа Docker, таким образом:

sudo docker ps

 sudo docker ps
sudo docker ps

Таким образом, вы должны были успешно обновить свой контейнер Docker.