Ubuntu 14.04にインストールしていたDockerを最新にするため、docker-engineに切り替えてみました。
「Installation on Ubuntu」(https://docs.docker.com/engine/installation/linux/ubuntulinux/)通りに行かない部分がありましたので記録しておきます。
記事を書き終わった後で気が付きましたが、上記の日本語版がここ(http://docs.docker.jp/engine/installation/linux/ubuntulinux.html)にありました。
準備
docker-engineでは、3.10以上のカーネルが必要となるようです。一応確認しておきます。
$ uname -r 3.13.0-85-generic
カーネルは3.13なので、条件をクリアしています。
パッケージ情報をアップデートし、httpsに対応したaptとca-certificatesをインストールします。
$ sudo apt-get update $ sudo apt-get install apt-transport-https ca-certificates
GPGキーを追加します。
$ sudo apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D
「Installation on Ubuntu」には、/etc/apt/sources.list.d/docker.listがあれば好きなエディタで開いて、既存のエントリーを削除し、docker.listが無ければ新規に作成するとあります。docker.listは無かったので、geditで新規に作成します。
$ sudo gedit /etc/apt/sources.list.d/docker.list
Ubuntu 14.04を使用しているので下記エントリー(Ubuntu 14.04以外の場合、「Installation on Ubuntu」を参照して、対応するエントリーに変更します)を追加して、docker.listを保存し、geditを閉じます。
deb https://apt.dockerproject.org/repo ubuntu-trusty main
docker.listを作成(/変更)したので、パッケージ情報をアップデートします。
$ sudo apt-get update
ここまで、Docker Docs通りに順調にきましたが、既存のパッケージをアンインストールする以下のコマンドが上手く行きません。
$ sudo apt-get purge lxc-docker ... Package 'lxc-docker' is not installed, so not removed
Dockerがインストールされているのは間違いないのですが、lxc-dockerではないようです。
インストールされているパッケージを確認します。
$ dpkg --list | grep docker ii docker.io ...
インストールされているDockerパッケージは、lxc-dockerではなくdocker.ioでした。パッケージ名を変更して、既存のパッケージをアンインストールします。
$ sudo apt-get purge docker.io
docker-engineのパッケージ情報を確認します。
$ sudo apt-cache policy docker-engine
aufsを使用するためにlinux-image-extraをインストールします。
$ sudo apt-get install linux-image-extra-$(uname -r)
また、Ubuntu 14.04の場合、apparmorも必要となるようです。
$ sudo apt-get install apparmor
docker-engineのインストール
準備が終了しましたので、docker-engineをインストールします。
$ sudo apt-get install docker-engine
docker.ioは、アンインストール時点で1.6.2でしたが、docker-engineは、1.10.3がインストールされました。
Dockerサービスを起動します。
$ sudo service docker start
Dockerが正しくインストールされていることを確認します。
$ sudo docker run hello-world
docker-engineの更新
アップデートの催促が出るたびソフトウェアの更新を行うと、インストールしたdocker-engineは、1.10.3から1.11.0、1.11.1と更新されてます。
更新の方も、上手く行っているようです。