現時点でDockerの最新バージョンは1.8系ですが、CentOS6系だと、Docker1.7系までしか使えませんので、
最新版のDockerを使いたい場合は、自動的にCentOS7系を使うことになります。
CentOS6.7にDockerをインストール
まず、面倒な方から。CentOS6系でDockerをインストールするためには、EPELのリポジトリを追加して、そこからインストールする必要があります。
但し、追加したEPELリポジトリ内にある、dockerというのは全くの別物なので要注意。
早速、EPELのリポジトリを追加します。
sudo rpm -ivh http://ftp.jaist.ac.jp/pub/Linux/Fedora/epel/6/i386/epel-release-6-8.noarch.rpm
インストールしたくない方のdockerの情報を確認。
$ yum info docker
読み込んだプラグイン:fastestmirror
Loading mirror speeds from cached hostfile
epel/metalink | 5.5 kB 00:00
* base: ftp.yz.yamagata-u.ac.jp
* epel: ftp.kddilabs.jp
* extras: ftp.yz.yamagata-u.ac.jp
* updates: ftp.yz.yamagata-u.ac.jp
epel | 4.3 kB 00:00
epel/primary_db | 5.7 MB 00:03
利用可能なパッケージ
名前 : docker
アーキテクチャ : x86_64
バージョン : 1.5
リリース : 5.el6
容量 : 19 k
リポジトリー : epel
要約 : KDE and GNOME2 system tray replacement docking application
URL : http://icculus.org/openbox/2/docker/ ← URLが全然別物。要約も全く別物
ライセンス : GPL+
説明 : Docker is a docking application (WindowMaker dock app) which acts as a system
: tray for KDE and GNOME2. It can be used to replace the panel in either
: environment, allowing you to have a system tray without running the KDE/GNOME
: panel or environment.
CentOS6.7の場合だとdocker-ioというのが、インストールしたいDockerになります。
yum info docker-io
読み込んだプラグイン:fastestmirror
Loading mirror speeds from cached hostfile
* base: ftp.yz.yamagata-u.ac.jp
* epel: ftp.kddilabs.jp
* extras: ftp.yz.yamagata-u.ac.jp
* updates: ftp.yz.yamagata-u.ac.jp
利用可能なパッケージ
名前 : docker-io
アーキテクチャ : x86_64
バージョン : 1.7.1
リリース : 2.el6
容量 : 4.6 M
リポジトリー : epel
要約 : Automates deployment of containerized applications
URL : http://www.docker.com ← Docker公式サイトのURLになっている
ライセンス : ASL 2.0
説明 : Docker is an open-source engine that automates the deployment of any
: application as a lightweight, portable, self-sufficient container that will
: run virtually anywhere.
:
: Docker containers can encapsulate any payload, and will run consistently on
: and between virtually any server. The same container that a developer builds
: and tests on a laptop will run at scale, in production*, on VMs, bare-metal
: servers, OpenStack clusters, public instances, or combinations of the above.
docker-ioが正しい事を確認したので、yumでインストールする。
$ sudo yum install docker-io
読み込んだプラグイン:fastestmirror
インストール処理の設定をしています
Determining fastest mirrors
epel/metalink | 5.5 kB 00:00
* base: www.ftp.ne.jp
* epel: ftp.kddilabs.jp
* extras: www.ftp.ne.jp
* updates: www.ftp.ne.jp
base | 3.7 kB 00:00
base/primary_db | 4.6 MB 00:03
epel | 4.3 kB 00:00
epel/primary_db | 5.7 MB 00:03
extras | 3.4 kB 00:00
extras/primary_db | 33 kB 00:00
updates | 3.4 kB 00:00
updates/primary_db | 2.6 MB 00:01
依存性の解決をしています
--> トランザクションの確認を実行しています。
---> Package docker-io.x86_64 0:1.7.1-2.el6 will be インストール
--> 依存性の処理をしています: xz のパッケージ: docker-io-1.7.1-2.el6.x86_64
--> 依存性の処理をしています: lxc のパッケージ: docker-io-1.7.1-2.el6.x86_64
--> 依存性の処理をしています: libcgroup のパッケージ: docker-io-1.7.1-2.el6.x86_64
--> トランザクションの確認を実行しています。
---> Package libcgroup.x86_64 0:0.40.rc1-16.el6 will be インストール
---> Package lxc.x86_64 0:1.0.7-4.el6 will be インストール
--> 依存性の処理をしています: lua-lxc(x86-64) = 1.0.7-4.el6 のパッケージ: lxc-1.0.7-4.el6.x86_64
--> 依存性の処理をしています: lua-alt-getopt のパッケージ: lxc-1.0.7-4.el6.x86_64
--> 依存性の処理をしています: liblxc.so.1()(64bit) のパッケージ: lxc-1.0.7-4.el6.x86_64
---> Package xz.x86_64 0:4.999.9-0.5.beta.20091007git.el6 will be インストール
--> トランザクションの確認を実行しています。
---> Package lua-alt-getopt.noarch 0:0.7.0-1.el6 will be インストール
---> Package lua-lxc.x86_64 0:1.0.7-4.el6 will be インストール
--> 依存性の処理をしています: lua-filesystem のパッケージ: lua-lxc-1.0.7-4.el6.x86_64
---> Package lxc-libs.x86_64 0:1.0.7-4.el6 will be インストール
--> 依存性の処理をしています: rsync のパッケージ: lxc-libs-1.0.7-4.el6.x86_64
--> トランザクションの確認を実行しています。
---> Package lua-filesystem.x86_64 0:1.4.2-1.el6 will be インストール
---> Package rsync.x86_64 0:3.0.6-12.el6 will be インストール
--> 依存性解決を終了しました。
依存性を解決しました
==========================================================================================================
パッケージ アーキテクチャ バージョン リポジトリー 容量
==========================================================================================================
インストールしています:
docker-io x86_64 1.7.1-2.el6 epel 4.6 M
依存性関連でのインストールをします。:
libcgroup x86_64 0.40.rc1-16.el6 base 129 k
lua-alt-getopt noarch 0.7.0-1.el6 epel 6.9 k
lua-filesystem x86_64 1.4.2-1.el6 epel 24 k
lua-lxc x86_64 1.0.7-4.el6 epel 15 k
lxc x86_64 1.0.7-4.el6 epel 120 k
lxc-libs x86_64 1.0.7-4.el6 epel 252 k
rsync x86_64 3.0.6-12.el6 base 335 k
xz x86_64 4.999.9-0.5.beta.20091007git.el6 base 137 k
トランザクションの要約
==========================================================================================================
インストール 9 パッケージ
総ダウンロード容量: 5.6 M
インストール済み容量: 22 M
これでいいですか? [y/N]y
パッケージをダウンロードしています:
(1/9): docker-io-1.7.1-2.el6.x86_64.rpm | 4.6 MB 00:03
(2/9): libcgroup-0.40.rc1-16.el6.x86_64.rpm | 129 kB 00:00
(3/9): lua-alt-getopt-0.7.0-1.el6.noarch.rpm | 6.9 kB 00:00
(4/9): lua-filesystem-1.4.2-1.el6.x86_64.rpm | 24 kB 00:00
(5/9): lua-lxc-1.0.7-4.el6.x86_64.rpm | 15 kB 00:00
(6/9): lxc-1.0.7-4.el6.x86_64.rpm | 120 kB 00:00
(7/9): lxc-libs-1.0.7-4.el6.x86_64.rpm | 252 kB 00:00
(8/9): rsync-3.0.6-12.el6.x86_64.rpm | 335 kB 00:00
(9/9): xz-4.999.9-0.5.beta.20091007git.el6.x86_64.rpm | 137 kB 00:00
----------------------------------------------------------------------------------------------------------
合計 1.2 MB/s | 5.6 MB 00:04
警告: rpmts_HdrFromFdno: ヘッダ V3 RSA/SHA256 Signature, key ID 0608b895: NOKEY
Retrieving key from file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6
Importing GPG key 0x0608B895:
Userid : EPEL (6)
Package: epel-release-6-8.noarch (installed)
From : /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6
これでいいですか? [y/N]y
warning: rpmts_HdrFromFdno: Header V3 RSA/SHA1 Signature, key ID c105b9de: NOKEY
Retrieving key from file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
Importing GPG key 0xC105B9DE:
Userid : CentOS-6 Key (CentOS 6 Official Signing Key)
Package: centos-release-6-7.el6.centos.12.3.x86_64 (@anaconda-CentOS-201508042137.x86_64/6.7)
From : /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
これでいいですか? [y/N]y
rpm_check_debug を実行しています
トランザクションのテストを実行しています
トランザクションのテストを成功しました
トランザクションを実行しています
警告: RPMDB は yum 以外で変更されました。
インストールしています : lua-filesystem-1.4.2-1.el6.x86_64 1/9
インストールしています : libcgroup-0.40.rc1-16.el6.x86_64 2/9
インストールしています : lua-alt-getopt-0.7.0-1.el6.noarch 3/9
インストールしています : xz-4.999.9-0.5.beta.20091007git.el6.x86_64 4/9
インストールしています : rsync-3.0.6-12.el6.x86_64 5/9
インストールしています : lxc-libs-1.0.7-4.el6.x86_64 6/9
インストールしています : lua-lxc-1.0.7-4.el6.x86_64 7/9
インストールしています : lxc-1.0.7-4.el6.x86_64 8/9
インストールしています : docker-io-1.7.1-2.el6.x86_64 9/9
Verifying : lua-lxc-1.0.7-4.el6.x86_64 1/9
Verifying : rsync-3.0.6-12.el6.x86_64 2/9
Verifying : lxc-1.0.7-4.el6.x86_64 3/9
Verifying : xz-4.999.9-0.5.beta.20091007git.el6.x86_64 4/9
Verifying : docker-io-1.7.1-2.el6.x86_64 5/9
Verifying : lxc-libs-1.0.7-4.el6.x86_64 6/9
Verifying : lua-alt-getopt-0.7.0-1.el6.noarch 7/9
Verifying : libcgroup-0.40.rc1-16.el6.x86_64 8/9
Verifying : lua-filesystem-1.4.2-1.el6.x86_64 9/9
インストール:
docker-io.x86_64 0:1.7.1-2.el6
依存性関連をインストールしました:
libcgroup.x86_64 0:0.40.rc1-16.el6 lua-alt-getopt.noarch 0:0.7.0-1.el6
lua-filesystem.x86_64 0:1.4.2-1.el6 lua-lxc.x86_64 0:1.0.7-4.el6
lxc.x86_64 0:1.0.7-4.el6 lxc-libs.x86_64 0:1.0.7-4.el6
rsync.x86_64 0:3.0.6-12.el6 xz.x86_64 0:4.999.9-0.5.beta.20091007git.el6
完了しました!
以上でインストール自体は終了。
後はDockerをchkconfigの設定と起動をするのですが、dockerはインストール状態だとrootユーザーでないと利用出来ないので、dockerグループに現状のユーザーを追加します。
$ sudo chkconfig docker on
$ sudo service docker start
試しに一般ユーザーでdockerコマンドを叩いてみると下記の様なエラーが出る。$ docker ps
Get http:///var/run/docker.sock/v1.19/containers/json: dial unix /var/run/docker.sock: permission denied. Are you trying to connect to a TLS-enabled daemon without TLS?
sudoを使えば問題ない。$ sudo docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
毎回sudo使うのは嫌なので、docker用のグループに現在のユーザーを追加する。
$ sudo groupadd docker
$ sudo gpasswd -a $USER docker
$ sudo service docker restart
で、一回ターミナルから抜けて、再ログインする。以上でCentOS6系へのインストール関連の作業は完了。
CentOS7にDockerをインストール
CentOS7へのDockerのインストールは非常に簡単でした。CentOS6系と違い、特にリポジトリを追加することなく、インストールが可能です。
念のため確認します。
$ yum info docker
読み込んだプラグイン:fastestmirror
Determining fastest mirrors
* base: www.ftp.ne.jp
* extras: www.ftp.ne.jp
* updates: www.ftp.ne.jp
利用可能なパッケージ
名前 : docker
アーキテクチャー : x86_64
バージョン : 1.8.2
リリース : 7.el7.centos
容量 : 8.7 M
リポジトリー : extras/7/x86_64
要約 : Automates deployment of containerized applications
URL : https://github.com/docker/docker ← ちゃんとdockerのURLになっている
ライセンス : ASL 2.0
説明 : Docker is an open-source engine that automates the deployment of any
: application as a lightweight, portable, self-sufficient container that will
: run virtually anywhere.
:
: Docker containers can encapsulate any payload, and will run consistently on
: and between virtually any server. The same container that a developer builds
: and tests on a laptop will run at scale, in production*, on VMs, bare-metal
: servers, OpenStack clusters, public instances, or combinations of the above.
dockerをインストールして、サービス起動する。
$ sudo yum install docker
$ sudo systemctl start docker
また、先ほどと同様にdockerグループを追加して、現在のユーザーをdockerグループに追加し、再ログインする。
$ sudo groupadd docker
$ sudo gpasswd -a $USER docker
$ sudo systemctl restart docker
以上でCentOS7へのインストールも完了です。
どちらのバージョンでもインストールの手間は大したことないので、どちらを選んでも問題ないと思います。
しかし、Dockerの開発スピードはかなり早いので、なるべく最新版を使った方がいいのかもしれません。