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

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

icon strelka icons icons

узнай больше на курсе

DevOps-инженер с нуля
Освой Linux, Docker, Kubernetes и CI/CD и собери свой пайплайн: 4 месяца онлайн, практика и сертификат. Смотри программу и тарифы.
Подробнее о курсе
Полный курс по сетевым технологиям
Разберись в TCP/IP, коммутации и маршрутизации с нуля: 2 месяца онлайн, лабы и сертификат. Открой программу и выбери свой тариф.
Подробнее о курсе
Python программист с нуля
Напиши первый код и собери проекты на Python: 4 месяца онлайн в своём темпе, практика и сертификат. Смотри программу и тарифы.
Подробнее о курсе

Рекомендуется запускать контейнеры из последнего образа 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

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

Чтобы указать только определенный образ, который может быть устаревшим, используйте 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

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

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

Ссылка
скопирована
Получите бесплатные уроки на наших курсах
Все курсы
icon strelka icons icons

узнай больше на курсе

DevOps-инженер с нуля
Освой Linux, Docker, Kubernetes и CI/CD и собери свой пайплайн: 4 месяца онлайн, практика и сертификат. Смотри программу и тарифы.
Подробнее о курсе
Полный курс по сетевым технологиям
Разберись в TCP/IP, коммутации и маршрутизации с нуля: 2 месяца онлайн, лабы и сертификат. Открой программу и выбери свой тариф.
Подробнее о курсе
Python программист с нуля
Напиши первый код и собери проекты на Python: 4 месяца онлайн в своём темпе, практика и сертификат. Смотри программу и тарифы.
Подробнее о курсе
Онлайн-курс по кибербезопасности
Научись защищать сети и данные и разбирать атаки: 2 месяца онлайн, практика в лабах и сертификат. Открой программу и тарифы.
Подробнее о курсе
Java-разработчик с нуля
Освой Java, ООП и Spring и собери первые проекты: 4 месяца онлайн, практика с проверкой и сертификат. Смотри программу и тарифы.
Подробнее о курсе
Этичный хакинг
Освой пентест: разведка, поиск уязвимостей и отчёты для заказчика. 4 месяца онлайн, практика и сертификат. Смотри программу.
Подробнее о курсе
Еще по теме:
10 крутых AI промптов для быстрого решения проблем Kubernetes, CI/CD, Terraform и мониторинга
Наверняка ты постоянно слышишь про микросервисы. Микросервисы то, микросервисы сё, переписали все на микросервисы, развернули микросервисы в контейнерах. А че это вообще такое? Ща все объясним.
О том, как создать локальную DevOps-лабораторию с Docker, Kubernetes, Vagrant, Ansible и Terraform на обычном ноутбуке без затрат, смс, и прочего.
Git Flow - это специальная система ветвления для Git. Она помогает команде лучше контролировать и добавлять различные версии проекта. В статье рассказываем, как ее использовать.
Мы рассмотрим несколько простых способов, с помощью которых вы можете управлять и отслеживать логи для своих контейнеров.
ОСЕННИЕ СКИДКИ
30%
40%
50%
До конца акции: 30 дней 24 : 59 : 59