LoginSignup
1
3

More than 5 years have passed since last update.

RHEL7にDocker EEをインストールする

Last updated at Posted at 2017-09-06

仕事の関係で近くRHELにDocker EEのインストール方法を整理しておく必要に迫られる予感がしたので、以下まとめます。
インターネット非接続環境&RHNに接続しなくてもまあまあ簡単に導入できるのでそれは便利。

■RHEL7用Dockerの入手
https://www.docker.com/docker-red-hat-enterprise-linux-rhel

まあ、購入して使うのなら(日本で買えるのか知らないですけど)月$150とかを支払って製品版を購入します。
「Try It for Free」をクリックすると1ヶ月間有効なトライアル版を入手できます。営業さんとメールのやり取りを行うといった事も無く、連絡先等を入力すればDocker EEのオフラインインストール用rpmパッケージが入手できます。

  1. Trial版評価を申し込む。 q1.png

  2. 「Start your evaluation!」ボタンクリック後に遷移する画面の右下のURLをコピーする。多分、このURLが有効な期間が1ヶ月?
    q2.png

  3. WebブラウザでURLにアクセスする。 q3.png

  4. 「導入先RHELのバージョン」→「x86_64」→「stable」→「Packages」の順にリンクを辿って、導入する docker-ee と docker-ee-selinux の rpm ファイルをダウンロードする。
    今回訳有って RHEL7.2 用 docker-ee-17.03 の最新版をダウンロード(docker-ee-17.03.2.ee.6-1.el7.centos.x86_64.rpm と docker-ee-selinux-17.03.2.ee.6-1.el7.centos.noarch.rpm)。 q4.png

■RHEL7にDockerをインストールする

RHEL上のDockerがサポートされるためにはStorageドライバがdevicemapperでdirect-lvmモードにしなきゃいけないとか知ってました?
そんなわけでDockerインストールの前にOSにlvm領域をこしらえなければいけなかったりします。

Get Docker for Red Hat Enterprise Linux
https://docs.docker.com/v17.03/engine/installation/linux/rhel/

Configure direct-lvm mode for production
https://docs.docker.com/v17.03/engine/userguide/storagedriver/device-mapper-driver/#configure-direct-lvm-mode-for-production

  1. 仮想マシンに新しいディスクを追加する。
    まあ、物理的に追加しても良いでしょう。

  2. lvmを作る。追加したディスクがOSから/dev/sdbと認識されるとして、以下のコマンドを実行します。RHEL7.2には device-mapper-persistent-data、lvm2 パッケージはインストール済みではないかと思います。
(以下のコマンドを実行)
# fdisk /dev/sdb
    n↓↓↓↓↓t↓8e↓w↓
# pvcreate /dev/sdb1
# vgcreate docker /dev/sdb1
# lvcreate --wipesignatures y -n thinpool docker -l 95%VG
# lvcreate --wipesignatures y -n thinpoolmeta docker -l 1%VG
# lvconvert -y --zero n -c 512K --thinpool docker/thinpool --poolmetadata docker/thinpoolmeta
# cat > /etc/lvm/profile/docker-thinpool.profile << EOF
activation {
  thin_pool_autoextend_threshold=80
  thin_pool_autoextend_percent=20
}
EOF
# lvchange --metadataprofile docker-thinpool docker/thinpool



3. docker-ee rpmファイル2つをRHEL7に送りつける。
docker-ee-17.03.2.ee.6-1.el7.centos.x86_64.rpm
docker-ee-selinux-17.03.2.ee.6-1.el7.centos.noarch.rpm


4. docker-eeをインストールする。

(以下のコマンドを実行)
# yum install docker-ee-selinux-17.03.2.ee.6-1.el7.centos.noarch.rpm
# yum install docker-ee-17.03.2.ee.6-1.el7.centos.x86_64.rpm
# mkdir /etc/docker

依存パッケージとして以下が一緒にインストールされるので要準備(すべてRHEL OSのインストールディスクに含まれています)。

audit-libs-python
checkpolicy
libcgroup
libsemanage-python
policycoreutils-python
python-IPy
setools-libs
libseccomp
libtool-ltdl

また、docker-ee-selinuxのインストール中に以下の警告が表示されますが無視できます。

restorecon:  lstat(/var/lib/docker) failed:  No such file or directory
warning: %post(docker-ee-selinux-17.03.2.ee.6-1.el7.centos.noarch) scriptlet failed, exit status 255
Non-fatal POSTIN scriptlet failure in rpm package docker-ee-selinux-17.03.2.ee.6-1.el7.centos.noarch



5. devicemapperを設定する。

(以下のコマンドを実行)
# cat > /etc/docker/daemon.json << EOF
{
    "storage-driver": "devicemapper",
    "storage-opts": [
    "dm.thinpooldev=/dev/mapper/docker-thinpool",
    "dm.use_deferred_removal=true"
    ]
}
EOF



5. dockerのサービスを有効にする。

(以下のコマンドを実行)
# systemctl enable docker
# systemctl start docker



docker info とコマンドを実行してそれらしい情報が出力されればdocker-eeの導入完了。

# docker info
Containers: 0
 Running: 0
 Paused: 0
 Stopped: 0
Images: 0
Server Version: 17.03.2-ee-6
Storage Driver: devicemapper
 Pool Name: docker-thinpool
 Pool Blocksize: 524.3 kB
 Base Device Size: 10.74 GB
...


で、まあ、試用期間1ヶ月という認識では有りますが、何かdocker infoの出力結果を見ても、docker-engine部分については一ヵ月後に突然使えなくなるという感じも無く・・まあ、一ヶ月後も環境が残っていてdocker起動しないとかいう事があったら本記事を更新します。

1
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
3