img

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

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

icon strelka icons icons

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

DevOps-инженер с нуля
Стань DevOps-инженером с нуля и научись использовать инструменты и методы DevOps
Укажите вашу электронную почту
Неверный адрес электронной почты
Нажимая на кнопку, вы соглашаетесь на обработку персональных данных
Готово!
Отправили доступы на вашу
электронную почту
Полный курс по сетевым технологиям
Полный курс по сетевым технологиям от Мерион Нетворкс - учим с нуля сетевых инженеров и DevOPS специалистов
Укажите вашу электронную почту
Неверный адрес электронной почты
Нажимая на кнопку, вы соглашаетесь на обработку персональных данных
Готово!
Отправили доступы на вашу
электронную почту
Python программист с нуля
Стань разработчиком на одном из самых популярных языков программирования - Python
Укажите вашу электронную почту
Неверный адрес электронной почты
Нажимая на кнопку, вы соглашаетесь на обработку персональных данных
Готово!
Отправили доступы на вашу
электронную почту

Рекомендуется запускать контейнеры из последнего образа 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-инженер с нуля
Стань DevOps-инженером с нуля и научись использовать инструменты и методы DevOps
Подробнее о курсе
Полный курс по сетевым технологиям
Полный курс по сетевым технологиям от Мерион Нетворкс - учим с нуля сетевых инженеров и DevOPS специалистов
Подробнее о курсе
Python программист с нуля
Стань разработчиком на одном из самых популярных языков программирования - Python
Подробнее о курсе
Онлайн-курс по кибербезопасности
Полный курс по кибербезопасности от Мерион Нетворкс - учим с нуля специалистов по информационной безопасности. Пора стать безопасником!
Подробнее о курсе
Java-разработчик с нуля
Освойте backend-разработку и программирование на Java, фреймворки Spring и Maven, работу с базами данных и API
Подробнее о курсе
Этичный хакинг
Научись работать с Kali Linux, изучи самые распространенные уязвимости, разверни виртуальную лабораторию для пентестинга
Подробнее о курсе
Еще по теме:
img
Git Flow - это специальная система ветвления для Git. Она помогает команде лучше контролировать и добавлять различные версии проекта. В статье рассказываем, как ее использовать.
img
Мы рассмотрим несколько простых способов, с помощью которых вы можете управлять и отслеживать логи для своих контейнеров.
img
Узнайте, как использовать Git Hooks для автоматизации задач в рабочем процессе: от проверки коммитов до автоматического тестирования, и как настроить хуки для совместной работы в команде.
img
Откройте для себя, как канареечное развертывание может минимизировать риски при обновлении ПО. Узнайте, как постепенно внедрять новые функции и обеспечивать стабильность продукта с помощью этого метода.
img
Откройте для себя GitOps — революционный подход к управлению инфраструктурой через Git. Узнайте, как этот метод упрощает развертывание приложений и повышает надежность с помощью автоматизации и масштабируемости.
Весенние скидки
30%
50%
60%
До конца акции: 30 дней 24 : 59 : 59