いつもはCoreOSを使ってDockerでいろいろやっていますが
Ubuntu上でのテスト環境が必要になったので
Ubuntu+Docker環境をVertualBoxに構築するための覚書。

Ubuntu環境の構築

以下サイトからubuntu-14.10-server-amd64.isoをDLしてインストールしました。

以下の手順で Ubuntu を最少インストール。
VirtualBox に Ubuntu 13.10 Server を最小構成でインストールする

Dockerのインストール

Dockerの公式サイトの通りインストールしてみたのですがどうもうまく動かない。
しょうがないので以下のようなコマンドでインストール。
CentOSの時と違い、パッケージ名が「docker.io」であることに注意

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


root@ubuntu:~# docker version
Client version: 1.2.0
Client API version: 1.14
Go version (client): go1.2.1
Git commit (client): fa7b24f
OS/Arch (client): linux/amd64
Server version: 1.2.0
Server API version: 1.14
Go version (server): go1.2.1
Git commit (server): fa7b24f

root@ubuntu:~# docker info
Containers: 0
Images: 9
Storage Driver: devicemapper
 Pool Name: docker-8:1-526355-pool
 Pool Blocksize: 64 Kb
 Data file: /var/lib/docker/devicemapper/devicemapper/data
 Metadata file: /var/lib/docker/devicemapper/devicemapper/metadata
 Data Space Used: 733.7 Mb
 Data Space Total: 102400.0 Mb
 Metadata Space Used: 1.2 Mb
 Metadata Space Total: 2048.0 Mb
Execution Driver: native-0.2
Kernel Version: 3.16.0-23-generic
Operating System: Ubuntu 14.10
WARNING: No swap limit support

問題なくインストール成功。
・・・と思ったらバージョンが 1.2 とかすごく低い。
docker exec とか 環境変数周りも動きが怪しい。

しょうがないのでDockerの公式サイトの通りupgrade

$ wget -qO- https://get.docker.com/ | sh
※結構時間かかります

root@ubuntu:~# docker version
Client version: 1.6.2
Client API version: 1.18
Go version (client): go1.4.2
Git commit (client): 7c8fca2
OS/Arch (client): linux/amd64
Server version: 1.6.2
Server API version: 1.18
Go version (server): go1.4.2
Git commit (server): 7c8fca2
OS/Arch (server): linux/amd64

root@ubuntu:~# docker info
Containers: 0
Images: 7
Storage Driver: aufs
 Root Dir: /var/lib/docker/aufs
 Backing Filesystem: extfs
 Dirs: 7
 Dirperm1 Supported: true
Execution Driver: native-0.2
Kernel Version: 3.16.0-23-generic
Operating System: Ubuntu 14.10
CPUs: 1
Total Memory: 993.5 MiB
Name: ubuntu
ID: MELW:YYTU:NL52:QQ5S:RT3W:WIQF:CP2V:BSWB:GZPZ:TMMQ:SSQQ:BHA6
WARNING: No swap limit support
root@ubuntu:~/work/docker-proxy/redis#

RemoteAPI 有効化
Docker の RemoteAPIも以下手順で有効にします
http://www.virtuallyghetto.com/2014/07/quick-tip-how-to-enable-docker-remote-api.html

root@ubuntu:~# vi /etc/init/docker.conf

DOCKER_OPTS='-H tcp://0.0.0.0:4243 -H unix:///var/run/docker.sock'


root@ubuntu:~# service docker restart
root@ubuntu:~/work/docker-proxy# curl http://localhost:4243/images/json?all=true

[{"Created":1431767912,…

公式サイト通りインストールしようとしていたから
結構時間かかっちゃいました。
なんだかなぁ。。。


※追記
久しぶりに この手順で Docker をアップデートしたところ
Docker 起動時に以下のエラーメッセージが出るように。

root@ubuntu:~# docker -d
INFO[0000] Listening for HTTP on unix (/var/run/docker.sock)
ERRO[0000] Udev sync is not supported. This will lead to unexpected behavior, data loss and errors. For more information, see https://docs.docker.com/reference/commandline/cli/#daemon-storage-driver-option
ERRO[0000] [graphdriver] prior storage driver "devicemapper" failed: driver not supported
FATA[0000] Error starting daemon: error initializing grap

デバイスマッパーが無いとかなんとか。。

以下の手順で 一旦削除してから再インストールしたらうまくいきました。
ストレージデバイスが devicemapper から aufs に変わったからなのかな?
よくわかんないっす。

root@ubuntu:~# sudo apt-get purge lxc-docker
root@ubuntu:~# rm -rf /var/lib/docker
rm: cannot remove '/var/lib/docker': Device or resource busy

root@ubuntu:~# wget -qO- https://get.docker.com/ | sh
root@ubuntu:~# service docker restart

root@ubuntu:~# docker version
Client version: 1.7.0
Client API version: 1.19
Go version (client): go1.4.2
Git commit (client): 0baf609
OS/Arch (client): linux/amd64
Server version: 1.7.0
Server API version: 1.19
Go version (server): go1.4.2
Git commit (server): 0baf609
OS/Arch (server): linux/amd64

root@ubuntu:~# docker info
Containers: 0
Images: 0
Storage Driver: aufs
 Root Dir: /var/lib/docker/aufs
 Backing Filesystem: extfs
 Dirs: 0
 Dirperm1 Supported: true
Execution Driver: native-0.2
Logging Driver: json-file
Kernel Version: 3.16.0-23-generic
Operating System: Ubuntu 14.10
CPUs: 1
Total Memory: 993.5 MiB
Name: ubuntu
ID: O4ZO:3XNO:LCRY:2LSD:U3OO:IT63:B3YG:GCGR:OPGD:QW3L:RSYT:YAAO
WARNING: No swap limit support
root@ubuntu:~/docker-image/centos6.5# ^C

うまく動きました。
超焦った。