CentOS 7にDocker + Figを入れようとしたら、ちょっとハマったので備忘録がてらメモ。
ちなみに、悪いのはすべてyumで入るDockerが妙に古いのが原因なので時間が解決すると思われる
Dockerのインストール
CentOS 7でDockerをインストールする記事を探すと概ね下記のコマンドが紹介されます。
yum install docker
CentOS 7からExtraパッケージに入ったので、EPELとか入れなくても問題なくDockerが入ります。便利ですね。
.
.
.
で、終わってくれない罠が2014/10/13現在だと存在します。yumで入るバージョンが妙に古いのです。
$ sudo yum install docker
読み込んだプラグイン:fastestmirror
Loading mirror speeds from cached hostfile
* base: mirror.fairway.ne.jp
* extras: mirror.fairway.ne.jp
* updates: ftp.tsukuba.wide.ad.jp
依存性の解決をしています
--> トランザクションの確認を実行しています。
---> パッケージ docker.x86_64 0:0.11.1-22.el7.centos を インストール
--> 依存性解決を終了しました。
依存性を解決しました
=======================================================================================
Package アーキテクチャー
バージョン リポジトリー 容量
=======================================================================================
インストール中:
docker x86_64 0.11.1-22.el7.centos extras 4.4 M
1.0系より前だとfigがエラーを出して実行できないので、下記の用にバイナリで最新のdockerを入れます。
# install docker
sudo sh -c "curl -L https://raw.githubusercontent.com/docker/docker/master/contrib/init/systemd/docker.service > /etc/systemd/system/docker.service"
sudo sh -c "curl -L https://raw.githubusercontent.com/docker/docker/master/contrib/init/systemd/docker.socket > /etc/systemd/system/docker.socket"
sudo sh -c "curl -L https://get.docker.io/builds/Linux/x86_64/docker-latest > /usr/bin/docker"
sudo chmod +x /usr/bin/docker
# サービスに登録
sudo systemctl enable docker
sudo systemctl start docker
これで最新のDocker 1.2を入れることができます。
$ docker -v
Docker version 1.2.0, build fa7b24f
Figのインストール
Dockerの1.0以上が入ってればFigも特に悩むことはありません。
公式ページのマニュアルどおり、こんな感じでインストール。
sudo sh -c "curl -L https://github.com/docker/fig/releases/download/0.5.2/linux > /usr/bin/fig"
sudo chmod +x /usr/bin/fig
これでインストールは完了です。
$ fig --version
fig 0.5.2
ちなみにfig実行時に下記エラーが出たら、dockerが最新ではない可能性があるので確認して下さい。
KeyError: u'Id'
オマケ
別に必須ではありませんが、sudoを毎回打つのが面倒なので、.bashrcや.zshrcに下記を追加しておくと便利です
alias docker='sudo docker'
alias fig='sudo fig'
それにしても、DockerもFigもgoで作ってあるせいか単独バイナリなので、インストールが楽ちんなのはいいですね。
それでは、Happy Hacking!