EPELに入ってる。CentOS6系で普通に使える。これは便利。docker自体の使い方はググってもらうと分かりますが、非常に便利です。LXCを苦労して使おうとしていた時代が嘘のようで、なんて快適なんだと思える。
まずはEPELを有効にしておく。
- yum localinstall http://ftp.riken.jp/Linux/fedora/epel/6/i386/epel-release-6-8.noarch.rpm
docker-ioをインストールして、、、
- yum install docker-io
- sudo service docker start
- sudo usermod -Ga docker $USER
- logout/login
- docker pull busybox
- docker run -t -i busybox /bin/sh
普通に使える。CoreOSについてくるdockerよりもバージョンは新しく、0.7.0だった。最新は0.7.1なので、docker versionコマンドでplease update dockerが出る。ただCoreOSのdockerは今だと0.6.7なので。CoreOSはvagrant経由で動かすとguest additionsが入らないから共有フォルダを使えない。CentOSでdockerがまともに動くなら、CentOSでやったほうがいいかもしれない。
ミニ知識としては、プロキシ経由でWebアクセスしなければいけない環境でdockerを使う場合、dockerはデーモン側でイメージをダウンロードするので、デーモン(docker -d)を実行するときに環境変数http_proxyを設定しておく必要がある。逆に、ユーザ側のコマンド(runとか)のときはプロキシの設定は必要ない。
CentOS6はまだsystemdではなく、rpmに入っている起動スクリプトは最初から/etc/sysconfig/dockerを参照するようになっているため、/etc/sysconfig/dockerに「export http_proxy=http://host:port」と書けば良いことになる。
CoreOSやFedoraのようにsystemd経由の場合は[service]セクションに「EnvironmentFile=/etc/sysconfig/docker」とか書いておいて、/etc/sysconfig/dockerに「http_proxy=http://host:port」と書いておけばよい。ただCoreOSはdocker.serviceを修正できないという問題があり、手動でシェルからdocker -dを起動する以外にどうにもならなかった。
あと、いまのところdockerはプロキシ認証に対応していないようなので、プロキシ認証を通さなければならない環境の場合はまあ、工夫して下さい。例えばtinyproxyを立ててAddHeaderでProxy-Authorizationヘッダを付与して乗り切るとかね。
0.7系のdockerはdm-thinを使ってシンプロボリュームとスナップショットでやっていくようだ。100GBくらいのsparse fileをプールにして、コンテナごとにボリュームを切り出しているみたい。ふーん。
これでubuntuでもarchlinuxでもgentooでもfedoraでも、VMを使わずにLXCで遊べるぞ。dockerはアプリ入りのイメージもそこそこ豊富で、自分で登録するのも簡単、有望な技術だと思われる。そして国内のレンタルサーバはたいていCentOSがデフォルトだから、CentOSで自然に使えるというのはけっこうでかいと思います。