読者です 読者をやめる 読者になる 読者になる

tkuchikiの日記

Linux やプログラミングについて書きます。

Ubuntu 14.04 で Docker 0.11.0 を動かす

Ubuntu 14.04 で Docker 0.11.0 を動かしたかったのですが、

apt-get update
apt-get install -y docker.io

で install される Docker の version が、
0.9.1 でしたので、Binaries - Docker Documentation を参考に install しました。

apt-get install -y curl git xz-utils cgroup-lite aufs-tools iptables libapparmor1 libnfnetlink0 libxtables10
curl https://get.docker.io/builds/Linux/x86_64/docker-latest -o /usr/local/bin/docker
chmod +x /usr/local/bin/docker
/usr/local/bin/docker -d

で動きました。

upstart 配下で動かしたい場合は、
記事末尾のファイルを以下のように配置して、

  • etc_default_docker -> /etc/default/docker
  • etc_init_docker.conf -> /etc/init/docker.conf
  • etc_initd_docker -> /etc/init.d/docker
$ service docker start

で Docker daemon が起動します。

docker version で確認してみると、

$ docker version
Client version: 0.11.1
Client API version: 1.11
Go version (client): go1.2.1
Git commit (client): fb99f99
Server version: 0.11.1
Server API version: 1.11
Git commit (server): fb99f99
Go version (server): go1.2.1
Last stable version: 0.11.1

起動しています。
自動起動の設定をしておく場合は、以下を実行します。

$ update-rc.d docker defaults
 Adding system startup for /etc/init.d/docker ...
   /etc/rc0.d/K20docker -> ../init.d/docker
   /etc/rc1.d/K20docker -> ../init.d/docker
   /etc/rc6.d/K20docker -> ../init.d/docker
   /etc/rc2.d/S20docker -> ../init.d/docker
   /etc/rc3.d/S20docker -> ../init.d/docker
   /etc/rc4.d/S20docker -> ../init.d/docker
   /etc/rc5.d/S20docker -> ../init.d/docker

各種設定ファイルは、

apt-get install docker.io

して配置されたファイルを、

cp /etc/init.d/docker.io /etc/init.d/docker

# edit /etc/init.d/docker
- # Provides:           docker.io
+ # Provides:           docker
cp /etc/default/docker.io /etc/default/docker
cp /etc/init/docker.io.conf /etc/init/docker.conf

# edit /etc/init/docker.conf
-DOCKER=/usr/bin/$UPSTART_JOB
+DOCKER=/usr/local/bin/$UPSTART_JOB

-"$DOCKER"
+"${DOCKER:-/usr/bin/$UPSTART_JOB}"

しただけです。

もし、最初の apt-get install だけでは足りない場合、
以下の依存モジュールを片端から入れていけばなんとかなるのではないかと思います。

$ apt-cache showpkg docker.io
Package: docker.io
Versions:
0.9.1~dfsg1-2 (/var/lib/apt/lists/jp.archive.ubuntu.com_ubuntu_dists_trusty_universe_binary-amd64_Packages) (/var/lib/dpkg/status)
 Description Language:
                 File: /var/lib/apt/lists/jp.archive.ubuntu.com_ubuntu_dists_trusty_universe_binary-amd64_Packages
                  MD5: 4f110c30cd3596d47a1d37f564ddd5bc
 Description Language: en
                 File: /var/lib/apt/lists/jp.archive.ubuntu.com_ubuntu_dists_trusty_universe_i18n_Translation-en
                  MD5: 4f110c30cd3596d47a1d37f564ddd5bc


Reverse Depends:
  docker.io:i386,docker.io
  vim-syntax-docker,docker.io
Dependencies:
0.9.1~dfsg1-2 - adduser (0 (null)) iptables (0 (null)) init-system-helpers (2 1.13~) sysv-rc (18 2.88dsf-24) file-rc (2 0.8.16) perl (0 (null)) libapparmor1 (2 2.6~devel) libc6 (2 2.4) libdevmapper1.02.1 (2 2:1.02.63) libsqlite3-0 (2 3.5.9) btrfs-tools (0 (null)) debootstrap (0 (null)) lxc (0 (null)) rinse (0 (null)) aufs-tools (0 (null)) ca-certificates (0 (null)) cgroupfs-mount (16 (null)) cgroup-lite (0 (null)) git (0 (null)) xz-utils (0 (null)) docker.io:i386 (0 (null))
Provides:
0.9.1~dfsg1-2 -
Reverse Provides:

以上です。
package から install する手順は、Ubuntu - Docker Documentation にあります。

設定ファイル