第35回 Open vSwitchで作るDockerのネットワーク(OVSで構築する編)古賀政純の「攻めのITのためのDocker塾」(3/6 ページ)

» 2017年02月08日 07時30分 公開

ホストOSにおけるDockerエンジンの設定

 ホストOS上に、最新のDockerエンジンをインストールします。以下のように、curlコマンドでインストールすることが可能です。ホストOSがプロキシサーバ経由でインターネットにアクセスする場合は、適宜プロキシサーバの環境変数を事前に設定してください。


# export http_proxy=http://proxy.your.site.com:8080 ←適宜プロキシサーバを設定
# export https_proxy=http://proxy.your.site.com:8080 ←適宜プロキシサーバを設定
# curl -sSL https://get.docker.com/ | sh

 連載33回でご紹介したのと同様に、「/etc/sysconfig/docker」ファイルを読み込むように設定ファイル「docker.service」を記述します。もし、以下の設定ファイル「docker.service」が「/etc/systemd/system」ディレクトリに存在しない場合は、事前に「/usr/lib/systemd/system」ディレクトリからコピーしておく必要があります。


# cd /etc/systemd/system/
# cp /usr/lib/systemd/system/docker.service .
# vi ./docker.service
# cat /etc/systemd/system/docker.service  |grep -v ^# |grep -v ^$
[Unit]
Description=Docker Application Container Engine
Documentation=https://docs.docker.com
After=network.target
[Service]
Type=notify
EnvironmentFile=-/etc/sysconfig/docker ←設定ファイルを定義
EnvironmentFile=-/etc/sysconfig/docker-storage ←設定ファイルを定義
EnvironmentFile=-/etc/sysconfig/docker-network ←設定ファイルを定義
ExecStart=/usr/bin/dockerd \ ←複数行にわたるため、「\」を追加
$OPTIONS \ ←設定ファイル内で定義される環境変数を追加
$DOCKER_STORAGE_OPTIONS \ ←設定ファイル内で定義される環境変数を追加
$DOCKER_NETWORK_OPTIONS \ ←設定ファイル内で定義される環境変数を追加
$ADD_REGISTRY \ ←設定ファイル内で定義される環境変数を追加
$BLOCK_REGISTRY \ ←設定ファイル内で定義される環境変数を追加
$INSECURE_REGISTRY ←設定ファイル内で定義される環境変数を追加
ExecReload=/bin/kill -s HUP $MAINPID
LimitNOFILE=infinity
LimitNPROC=infinity
LimitCORE=infinity
TimeoutStartSec=0
Delegate=yes
KillMode=process
[Install]
WantedBy=multi-user.target

 ホストOSのsystemdに、上記の設定ファイルの変更を通知します。


# systemctl daemon-reload

 これでDockerデーモン(/usr/bin/dockerd)が、各設定ファイルに記載された文字列をオプションとして認識できるようになりました。次に、Dockerの設定ファイル「/etc/sysconfig/docker-network」内で、プロキシサーバなどを適切に設定しておきます。


# vi /etc/sysconfig/docker-network
http_proxy=http://proxy.your.site.com:8080
https_proxy=http://proxy.your.site.com:8080
no_proxy=localhost,172.16.1.100,/var/run/docker.sock

 今回は、「/etc/sysconfig/docker」ファイル内の「OPTIONS行」では何も指定しません。


# vi /etc/sysconfig/docker
OPTIONS='' ←今回は、オプションを付与しない
DOCKER_CERT_PATH=/etc/docker

 ホストOSが起動したら、Dockerエンジンのサービスが自動的に起動するよう設定します。


# systemctl restart docker
# systemctl enable docker
# systemctl status docker

 ホストOSの再起動後、Dockerのバージョンを確認します。


# reboot
# docker version
Client:
 Version:      1.12.5
 API version:  1.24
 Go version:   go1.6.4
 Git commit:   7392c3b
 Built:        Fri Dec 16 02:23:59 2016
 OS/Arch:      linux/amd64
 
Server:
 Version:      1.12.5
 API version:  1.24
 Go version:   go1.6.4
 Git commit:   7392c3b
 Built:        Fri Dec 16 02:23:59 2016
 OS/Arch:      linux/amd64

Copyright © ITmedia, Inc. All Rights Reserved.

注目のテーマ