Docker 1.8.2をRHEL 7.1へインストール
目次
概要
Docker 1.8.2をRed Hat Enterprise Linux 7.1(x86_64)へインストールします。 RHEL 7からコンテナ管理フレームワークとしてDockerが採用されましたが、 RHEL 7.1のインストールメディアにはDockerのパッケージは同梱されていません。 DockerはExtrasチャネルで提供されているため、以下のいずれかの方法で入手できます。
- yumでRHEL 7のExtrasチャネルを有効化し、インストールする
- Red Hat社のカスタマーポータルサイトからrpmファイルをダウンロードし、rpmコマンドでインストールする
今回はサーバがインターネットにつながっていないことを前提とし、 上記2.のrpmファイルをダウンロードする方法でインストールします。
構成
サーバ構成
OSバージョン
Red Hat Enterprise Linux 7.1 x86_64
ソフトウェア・パッケージ一覧
Dockerのrpmパッケージを下記Red Hat社のカスタマーポータルサイトからダウンロードします。 ダウンロードするためにはカスタマーポータルにログインする必要がありますので、 有効なサブスクリプションを保有しており、Red Hatアカウントを作成済みである必要があります。
■ダウンロード元
https://access.redhat.com/
RHEL 7.1のベース環境を「インフラストラクチャサーバー」でインストールした場合、 Dockerをインストールするために必要なパッケージ(依存パッケージ含む)は以下の9パッケージでした。
- docker-1.8.2-7.el7.x86_64.rpm
- audit-libs-python-2.4.1-5.el7.x86_64.rpm
- checkpolicy-2.1.12-6.el7.x86_64.rpm
- docker-selinux-1.8.2-7.el7.x86_64.rpm
- libcgroup-0.41-8.el7.x86_64.rpm
- libsemanage-python-2.1.10-16.el7.x86_64.rpm
- policycoreutils-python-2.2.5-15.el7.x86_64.rpm
- python-IPy-0.75-6.el7.noarch.rpm
- setools-libs-3.3.7-46.el7.x86_64.rpm
環境構築
インストール
事前にダウンロードしたDocker 1.8.2とその依存パッケージを /media/rpm/docker/ ディレクトリ配下に配置した前提でインストールを進めます。
# cd /media/rpm/docker/ # ls -l 合計 10388 -rw-r--r-- 1 root root 70544 11月 8 03:36 audit-libs-python-2.4.1-5.el7.x86_64.rpm -rw-r--r-- 1 root root 253244 11月 8 03:36 checkpolicy-2.1.12-6.el7.x86_64.rpm -rw-r--r-- 1 root root 9090812 11月 8 03:25 docker-1.8.2-7.el7.x86_64.rpm -rw-r--r-- 1 root root 62416 11月 8 03:28 docker-selinux-1.8.2-7.el7.x86_64.rpm -rw-r--r-- 1 root root 65752 11月 8 03:34 libcgroup-0.41-8.el7.x86_64.rpm -rw-r--r-- 1 root root 96388 11月 8 03:34 libsemanage-python-2.1.10-16.el7.x86_64.rpm -rw-r--r-- 1 root root 444848 11月 8 03:30 policycoreutils-python-2.2.5-15.el7.x86_64.rpm -rw-r--r-- 1 root root 32828 11月 8 03:35 python-IPy-0.75-6.el7.noarch.rpm -rw-r--r-- 1 root root 496484 11月 8 03:41 setools-libs-3.3.7-46.el7.x86_64.rpm # rpm -ihv *.rpm 準備しています... ################################# [100%] 更新中 / インストール中... 1:setools-libs-3.3.7-46.el7 ################################# [ 11%] 2:python-IPy-0.75-6.el7 ################################# [ 22%] 3:libsemanage-python-2.1.10-16.el7 ################################# [ 33%] 4:libcgroup-0.41-8.el7 ################################# [ 44%] 5:checkpolicy-2.1.12-6.el7 ################################# [ 56%] 6:audit-libs-python-2.4.1-5.el7 ################################# [ 67%] 7:policycoreutils-python-2.2.5-15.e################################# [ 78%] 8:docker-selinux-1.8.2-7.el7 ################################# [ 89%] 9:docker-1.8.2-7.el7 ################################# [100%]
設定
Dockerの起動
インストール直後はDockerが停止しているので起動します。
# systemctl status docker docker.service - Docker Application Container Engine Loaded: loaded (/usr/lib/systemd/system/docker.service; disabled) ←自動起動無効 Active: inactive (dead) ←停止 Docs: http://docs.docker.com # systemctl start docker # systemctl status docker docker.service - Docker Application Container Engine Loaded: loaded (/usr/lib/systemd/system/docker.service; disabled) ←自動起動無効 Active: active (running) since 日 2015-11-08 12:40:17 JST; 8s ago ←起動 Docs: http://docs.docker.com Main PID: 443 (docker) CGroup: /system.slice/docker.service mq443 /usr/bin/docker daemon --selinux-enabled --storage-driver devicemapper --storage... 11月 08 12:40:17 rhel71 docker[443]: time="2015-11-08T12:40:17.276964861+09:00" level=warn...em" 11月 08 12:40:17 rhel71 docker[443]: time="2015-11-08T12:40:17.281255906+09:00" level=info...ge" 11月 08 12:40:17 rhel71 docker[443]: time="2015-11-08T12:40:17.281316566+09:00" level=info...ge" 11月 08 12:40:17 rhel71 docker[443]: time="2015-11-08T12:40:17.294310212+09:00" level=warning... 11月 08 12:40:17 rhel71 docker[443]: time="2015-11-08T12:40:17.298474680+09:00" level=info...se" 11月 08 12:40:17 rhel71 docker[443]: time="2015-11-08T12:40:17.465178996+09:00" level=info...t." 11月 08 12:40:17 rhel71 docker[443]: time="2015-11-08T12:40:17.465623754+09:00" level=info...e." 11月 08 12:40:17 rhel71 docker[443]: time="2015-11-08T12:40:17.465678144+09:00" level=info...on" 11月 08 12:40:17 rhel71 docker[443]: time="2015-11-08T12:40:17.465725394+09:00" level=info...8.2 11月 08 12:40:17 rhel71 systemd[1]: Started Docker Application Container Engine. Hint: Some lines were ellipsized, use -l to show in full.
Dockerの自動起動設定
Dockerのインストール後は自動起動が無効になっているので、 Linux起動時に自動で起動する設定に変更します。
# systemctl enable docker ln -s '/usr/lib/systemd/system/docker.service' '/etc/systemd/system/multi-user.target.wants/docker.service' # systemctl status docker docker.service - Docker Application Container Engine Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled) ←自動起動有効 Active: active (running) since 日 2015-11-08 12:40:17 JST; 40s ago ←起動 Docs: http://docs.docker.com Main PID: 443 (docker) CGroup: /system.slice/docker.service mq443 /usr/bin/docker daemon --selinux-enabled --storage-driver devicemapper --storage... 11月 08 12:40:17 rhel71 docker[443]: time="2015-11-08T12:40:17.276964861+09:00" level=warn...em" 11月 08 12:40:17 rhel71 docker[443]: time="2015-11-08T12:40:17.281255906+09:00" level=info...ge" 11月 08 12:40:17 rhel71 docker[443]: time="2015-11-08T12:40:17.281316566+09:00" level=info...ge" 11月 08 12:40:17 rhel71 docker[443]: time="2015-11-08T12:40:17.294310212+09:00" level=warning... 11月 08 12:40:17 rhel71 docker[443]: time="2015-11-08T12:40:17.298474680+09:00" level=info...se" 11月 08 12:40:17 rhel71 docker[443]: time="2015-11-08T12:40:17.465178996+09:00" level=info...t." 11月 08 12:40:17 rhel71 docker[443]: time="2015-11-08T12:40:17.465623754+09:00" level=info...e." 11月 08 12:40:17 rhel71 docker[443]: time="2015-11-08T12:40:17.465678144+09:00" level=info...on" 11月 08 12:40:17 rhel71 docker[443]: time="2015-11-08T12:40:17.465725394+09:00" level=info...8.2 11月 08 12:40:17 rhel71 systemd[1]: Started Docker Application Container Engine. Hint: Some lines were ellipsized, use -l to show in full.
動作テスト
Dockerのバージョン確認
インストールしたDockerのバージョンを確認します。
# docker -v Docker version 1.8.2, build bb472f0/1.8.2
Dockerの構成と各種モジュールのバージョン確認
Dockerのクライアント、サーバの各種モジュール構成とそのバージョンを確認します。
# docker version Client: Version: 1.8.2 API version: 1.20 Package Version: docker-1.8.2-7.el7.x86_64 Go version: go1.4.2 Git commit: bb472f0/1.8.2 Built: OS/Arch: linux/amd64 Server: Version: 1.8.2 API version: 1.20 Package Version: Go version: go1.4.2 Git commit: bb472f0/1.8.2 Built: OS/Arch: linux/amd64
Dockerの管理情報確認
Dockerの管理情報を確認します。 インストールした直後なので、コンテナやイメージは存在しません(0件)。
# docker info Containers: 0 Images: 0 Storage Driver: devicemapper Pool Name: VolGroup00-docker--pool Pool Blocksize: 524.3 kB Backing Filesystem: xfs Data file: Metadata file: Data Space Used: 62.39 MB Data Space Total: 38.3 GB Data Space Available: 38.24 GB Metadata Space Used: 61.44 kB Metadata Space Total: 121.6 MB Metadata Space Available: 121.6 MB Udev Sync Supported: true Deferred Removal Enabled: false Library Version: 1.02.93-RHEL7 (2015-01-28) Execution Driver: native-0.2 Logging Driver: json-file Kernel Version: 3.10.0-229.el7.x86_64 Operating System: Red Hat Enterprise Linux Server 7.1 (Maipo) CPUs: 2 Total Memory: 3.58 GiB Name: rhel71 ID: ANCU:VNBG:UCRQ:CWRF:IB3Q:HZXB:PQDZ:GM76:SMQC:VRMC:NZAJ:J3MK WARNING: bridge-nf-call-iptables is disabled WARNING: bridge-nf-call-ip6tables is disabled