dockerは普通にCentOSでも使えた

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で自然に使えるというのはけっこうでかいと思います。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です