Обновление докеров на CentOS 7

Я запускаю centos 7 и установил docker на хост, используя пакеты epel:

yum install epel-release
yum install docker

Но версия докера - Docker version 0.11.1-dev, build 02d20af/0.11.1

Последняя стабильная ветка докера - 1.2

Я запускаю пару контейнеров на этом хосте, так как можно безопасно обновить докеры на этом хосте?

yum update docker не обновляется до последней версии, так как у epel repo есть старый пакет.

Ответы

Ответ 1

Обратите внимание, что текущая стабильная версия Docker на самом деле 1.3, а не 1.2. См. Docker CHANGELOG, чтобы открыть последней версии.

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

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

В Руководство по установке Docker для CentOS 7, рекомендуется установить докеры из binaries, если вы хотите получить последнюю версию. Я предлагаю вам следовать этим инструкциям для установки последней докеры. Docker теперь предоставляет обновления через диспетчер пакетов yum.

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

Если вы создали изображения докеров с пользовательских Dockerfiles, вы также захотите перестроить эти образы, чтобы проверить, что у Dockerfile нет проблем с новым демоном Docker. Между Docker 0.11.1 и 1.3 существует большой разрыв, а исправления и новые функции были добавлены в синтаксис Dockerfiles.


Подробнее здесь приведены команды для запуска после того, как вы готовы обновить докер:

# stop the docker service
$ sudo service docker stop

# download the latest docker binary and replace the current outdated docker
# DEPRECATED WAY TO UPGRADE DOCKER: $ sudo wget https://get.docker.com/builds/Linux/x86_64/docker-latest -O /usr/bin/docker
$ sudo yum update docker-engine

# start the docker service
$ sudo service docker start

# check the version
$ sudo docker version

# check the images and containers
$ sudo docker images
$ sudo docker ps
$ sudo docker ps -a

Ответ 2

Обновление для обновления докера CentOS 7.4

sudo yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-selinux  docker-engine-selinux docker-engine
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
sudo yum install docker-ce


sudo systemctl start docker
sudo systemctl enable docker
sudo systemctl status docker

См:

https://docs.docker.com/install/linux/docker-ce/centos/