Обновление Docker
О технологиях

Обновление Docker

1133
2 минуты

Одна из самых частых и важных операций в IT – это своевременное обновление программного обеспечения. Обновление Docker не исключение.

Узнать актуальную версию установленного на физическом или виртуальном сервере Docker можно при помощи команды

$ docker-machine ls

NAME ACTIVE DRIVER STATE URL SWARM DOCKER ERRORS
builder.avmaksimov.ru - generic Running tcp://81.23.10.76:2376 v1.12.3
default - virtualbox Running tcp://192.168.99.100:2376 v1.12.1
manager-1.avmaksimov.ru - generic Running tcp://185.12.28.58:2376 v1.12.3
manager-2.avmaksimov.ru - generic Running tcp://185.12.28.7:2376 v1.12.3
manager-3.avmaksimov.ru - generic Running tcp://185.12.28.39:2376 v1.12.3
node-1.avmaksimov.ru - generic Running tcp://81.23.10.217:2376 v1.12.3
node-2.avmaksimov.ru - generic Running tcp://185.12.28.80:2376 v1.12.3
node-3.avmaksimov.ru - generic Running tcp://185.12.29.107:2376 v1.12.3
vpn.avmaksimov.ru * digitalocean Running tcp://45.55.235.195:2376 v1.12.4

Как видно из вывода команды самая новая версия Docker установлена на моей виртуальной машине, находящейся в Облаке DigitalOcean (v1.12.4). В K2 Cloud у меня развернут Swarm кластер на версии Docker v1.12.3. И самая старая версия Docker установлена на моем ноутбуке в VirtualBox-е (v1.12.1). Именно ее мы сейчас и обновим.

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

$ docker inspect -f {{ .HostConfig.RestartPolicy.Name }} 'ID вашего контейнера';

Установить политику перезагрузки контейнера можно при помощи команды

$ docker update --restart=always 'ID вашего контейнера';

Опция —restart может принимать следующие значения:

  • no — перезапуск контейнера производиться не будет
  • on-failure[:max-retries] — перезапуск контейнера будет происходить max-retries раз в случае любого сбоя
  • always — перезапуск контейнера будет происходить всегда
  • unless-stopped — перезапуск контейнера будет происходить всегда до тех пор, пока вы явно не остановите контейнер
Процедура обновления сервера с Docker достаточно простая и выполняется всего одной командой

$ docker-machine upgrade default

Waiting for SSH to be available...
Detecting the provisioner...
Upgrading docker...
Stopping machine to do the upgrade...
Upgrading machine "default"...
Default Boot2Docker ISO is out-of-date, downloading the latest release...
Latest release for github.com/boot2docker/boot2docker is v1.12.4
Downloading /Users/amaksimov/.docker/machine/cache/boot2docker.iso from https://github.com/boot2docker/boot2docker/releases/download/v1.12.4/boot2docker.iso.
0%....10%....20%....30%....40%....50%....60%....70%....80%....90%....100%
Copying /Users/amaksimov/.docker/machine/cache/boot2docker.iso to /Users/amaksimov/.docker/machine/machines/default/boot2docker.iso...
Starting machine back up...
(default) Check network to re-create if needed...
(default) Waiting for an IP...
Restarting docker...
17 сентября 2019
Docker и InSpec: проверка контейнерной инфраструктуры на безопасность
Cis-docker-benchmark – это ни что иное как профиль соответствия InSpec, который содержит в себе набор тестов для запуска в автоматическом режиме. По итогам тестирования вы получаете детальное описание того, что у вас сделано хорошо, а что требует улучшения.
0 минут
684
6 сентября 2019
Docker: решения для хранения образов
На сегодняшний день ни одно решение, построенное на основе или просто использующее Docker, не обходится без хранилища Docker образов (images). Такие хранилища делятся на публично доступные и приватные.
1 минута
1146
23 августа 2019
Docker: проверка контейнеров на безопасность
Насколько безопасен Docker? В первые дни, ответ на этот вопрос у профессионалов был бы “не очень”. По справедливости, когда Docker впервые был запущен в 2013 году, ему определенно не хватало надежных функций безопасности и инструментов, позволивших бы ему обеспечить безопасность контейнеров на достаточном для Enterprise предприятий уровне.
1 минута
697
scrollup