Carpe Diem

備忘録。https://github.com/jun06t

最新のDockerをインストール

概要

Ubuntuのデフォルトパッケージはすでにsupportされていないため、公式サイトのやり方で最新のものを入れます。

環境

事前準備

上記のバージョンではlinux-image-extraカーネルパッケージをインストールすることが推奨されています。
今回は14.04なので以下のコマンドでインストールします。

$ sudo apt-get update
$ sudo apt-get install linux-image-extra-$(uname -r)

インストール

リポジトリの鍵を登録

$ sudo apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D

リポジトリをパッケージリストに追加

$ sudo sh -c "echo deb https://apt.dockerproject.org/repo ubuntu-trusty main\
> /etc/apt/sources.list.d/docker.list"

もし過去のパッケージがインストールされていたらpurge

$ sudo apt-get purge lxc-docker

インストール実行。

$ sudo apt-get update
$ sudo apt-get install docker-engine

サービスを起動します。

$ sudo service docker start

デフォルトだとsudoerじゃないと怒られるので、dockerグループに所属してsudo無しで使えるようにします。今回はvagrantユーザなので以下。

$ sudo usermod -aG docker vagrant

反映のために一度再ログインしてください。

動作確認

ちゃんと動作するか確認します。

$ docker version
Client:
 Version:      1.9.1
 API version:  1.21
 Go version:   go1.4.2
 Git commit:   a34a1d5
 Built:        Fri Nov 20 13:12:04 UTC 2015
 OS/Arch:      linux/amd64

Server:
 Version:      1.9.1
 API version:  1.21
 Go version:   go1.4.2
 Git commit:   a34a1d5
 Built:        Fri Nov 20 13:12:04 UTC 2015
 OS/Arch:      linux/amd64

Q & A

daemonのlogはどこ?

Where is the Docker daemon log?

Ubuntuの場合

/var/log/upstart/docker.log

にあります。


serviceが起動しない

デーモンのログをみると以下の表示がされてます。

/var/run/docker.sock is up
INFO[0000] API listen on /var/run/docker.sock           
ERRO[0000] [graphdriver] prior storage driver "aufs" failed: driver not supported 
FATA[0000] Error starting daemon: error initializing graphdriver: driver not supported

kernel 4.0.xではaufsはすでにサポートしてないため起こるようです。
[graphdriver] prior storage driver "aufs" failed: invalid argument

$ sudo rm -rf /var/lib/docker/aufs

すると起動できるようになります。

参考