CentOS 7を実行していて、epelパッケージを使用してホストにdockerをインストールしました。
yum install epel-release
yum install docker
しかし、Dockerバージョンは-Docker version 0.11.1-dev, build 02d20af/0.11.1
Dockerの最新の安定ブランチは1.2です
このホストでいくつかのコンテナを実行していますが、このホストでドッカーを安全に更新するにはどうすればよいですか?
epelリポジトリには古いパッケージがあるため、yum update dockerは最新バージョンに更新されません。
Dockerの現在の安定バージョンは、実際には1.2ではなく1.3であることに注意してください。 Docker CHANGELOG を参照して最新バージョンを発見してください。
Dockerホストをアップグレードする前に、持っているDockerイメージの一部、特にdocker commit
コマンド。これを行うには、 docker export コマンドを見てください。コンテナのボリュームをバックアップすることもできます。 データボリュームに関するDockerユーザーガイド を参照してください。
最終的なフレッシュスタートに必要なバックアップがすべて揃ったら、Dockerデーモンのアップグレードに移ることができます。
CentOS 7のDockerインストールガイド で、 最新のものが必要な場合は、 binaries からdockerをインストールすることをお勧めします。これらの指示に従って最新のdockerをインストールすることをお勧めします。 Dockerはyum
パッケージマネージャーを介して更新を提供するようになりました。
それが終わったら、docker images
コマンドを使用して、まだDockerイメージとdocker ps
コンテナを確認します。一部が欠落している場合は、バックアップからそれらを再作成します。
カスタムDockerfilesからdockerイメージを作成した場合、それらのイメージを再構築して、Dockerfileに新しいDockerデーモンに問題がないことを確認することもできます。 Docker 0.11.1と1.3の間には 大きなギャップ があり、Dockerfiles構文に修正と新機能が追加されました。
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