Опубликовано 17 янв 2019Обновлено 1 окт 2025 17:12

Обновление Docker

docker
docker
контейнеры
контейнеры
разработка
разработка
News Title Block Picture
Поделиться

Одна из самых частых и важных операций в 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...
 
 
Узнай, кто стоит за технологиями в K2 Cloud — и стань одним из них

Переходи на карьерную страницу, знакомься с нашими подходами и найди команду, подходящую именно тебе.

Другие новости

Продолжая использовать сайт k2.cloud, Вы соглашаетесь на обработку персональных данных, собираемых с использованием файлов cookie, а также посредством метрических программ «Яндекс Метрика», «ВК Реклама». Более подробная информация – в политике обработки и использования cookie-файлов.