tabimoba.net

とあるエンジニアの雑記帳

RHEL7,CentOS7で最新のDockerを使う

RedHat Enterprise Linux7(RHEL7),CentOS7ではそれぞれのOSのリポジトリに標準でDockerが含まれています。このため、EPELなどのサードパーティーのリポジトリを追加することなく、yum install dockerを実行するだけでDockerをインストールすることが出来ます。

ただ、標準でインストール出来るのは良いのですが、インストールされるDockerのバージョンが0.11.1-22と古いのが欠点です。
f:id:tabimoba:20140712114254p:plain:w500

そこで、DockerのオフィシャルサイトInstallationに掲載されているBinariesをもとに、Dockerの最新版をCentOS7にインストールしてみました。手順は以下の通りです。

手順

1.yum install dockerを実行してDockerをインストールします。
2.以下のコマンドを実行して、最新のDockerをダウンロードします。

# wget https://get.docker.io/builds/Linux/x86_64/docker-latest -O docker

3.ダウンロードしたDockerを/usr/local/binへ移動します。
あわせて実行権限と、rpmでインストールしたDockerを置き換えます。

# chmod +x docker
# mv ./docker /usr/local/bin
# cd /usr/bin
# mv docker docker.old
# ln -s /usr/local/bin/docker

4.docker.serviceを編集します。

# vi /usr/lib/systemd/system/docker.service

5.以下のように編集します。

[Service]
 Type=notify
 EnvironmentFile=-/etc/sysconfig/docker
 - ExecStart=/usr/bin/docker -d --selinux-enabled
 + ExecStart=/usr/local/bin/docker -d --selinux-enabled

6.systemctl daemon-reloadを実行して、編集したファイルを有効にします。
7.service docker startを実行し、Dockerサービス(デーモン)を起動します。
8.docker versionを実行し、Client versionとServer versionが最新になっていれば完了です。
(2014/7/12時点の最新バージョンは1.1.1です ※以下を参照)
f:id:tabimoba:20140712115952p:plain:w300


なお、RPM側のDockerがバージョンアップされてしまった時に何か問題が起こるかもしれませんので、/etc/yum.confにexclude=dockerを追記しておいたほうが良いかもしれません。