J'utilise centos 7 et j'ai installé docker sur l'hôte à l'aide de packages epel:
yum install epel-release
yum install docker
Mais la version docker est -Docker version 0.11.1-dev, build 02d20af/0.11.1
La dernière branche stable de docker est la 1.2
J'exécute quelques conteneurs sur cet hôte, alors comment puis-je mettre à jour docker en toute sécurité sur cet hôte?
yum update docker ne se met pas à jour vers la dernière version car le repo epel a un ancien package.
Notez que la version stable actuelle de Docker est en fait 1.3, et non 1.2. Voir Docker CHANGELOG pour découvrir la dernière version.
Avant de mettre à niveau votre hôte Docker, vous souhaiterez peut-être sauvegarder certaines des images Docker que vous avez, en particulier celles issues de docker commit
commande. Pour ce faire, jetez un œil à la commande exportation du docker . Vous pouvez également vouloir sauvegarder les volumes de vos conteneurs. Pour cela, jetez un œil au Guide de l'utilisateur Docker sur les volumes de données .
Une fois que vous êtes sûr d'avoir toutes les sauvegardes dont vous avez besoin pour un nouveau départ éventuel, vous pouvez continuer la mise à niveau de votre démon Docker.
Sur le Guide d'installation de Docker pour CentOS 7 , il est conseillé d'installer docker depuis le binaires si vous voulez la dernière. Je vous suggère de suivre ces instructions pour installer le dernier docker. Docker fournit désormais des mises à jour via le gestionnaire de packages yum
.
Une fois cela fait, utilisez le docker images
commande pour vérifier si vous avez toujours vos images Docker et docker ps
pour vérifier vos conteneurs. S'il en manque, recréez-les à partir de vos sauvegardes.
Si vous avez créé des images Docker à partir de Dockerfiles personnalisés, vous souhaitez également reconstruire ces images pour vérifier qu'aucun Dockerfile n'a de problème avec le nouveau démon Docker. Il y a un grand écart entre Docker 0.11.1 et 1.3 et des corrections et de nouvelles fonctionnalités ont été apportées à la syntaxe Dockerfiles.
En détail, voici les commandes à exécuter une fois que vous êtes prêt à mettre à niveau docker:
# 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
yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-selinux docker-engine-selinux docker-engine
yum install -y yum-utils device-mapper-persistent-data lvm2
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
yum install docker-ce
systemctl start docker
systemctl enable docker
systemctl status docker