Edited at

proxy環境下でCentOS7にdockerを構築するときのメモ

More than 1 year has passed since last update.

仕事でproxy環境下にdocker,docker-compose環境を構築することがあったのでその時のメモです。環境はCentOS7を使ってます。

OSインストール直後のまっさらな状態から始めます


CentOSのプロキシの設定

ここを参考に以下を設定

$ vi /etc/profile

以下を最下行に書き込む

PROXY="http://<user>:<pass>@<proxy_host>:<proxy_port>" # proxyサーバのドメインとポートを指定

export http_proxy=$PROXY
export HTTP_PROXY=$PROXY
export https_proxy=$PROXY
export HTTPS_PROXY=$PROXY
export NO_PROXY=localhost
export no_proxy=localhost

# source /etc/profile 

とりあえずyum updateしてproxyが通るかどうか確かめる

# yum update


dockerのインストール

公式サイトを見て、その手順に従う

https://docs.docker.com/install/linux/docker-ce/centos/

以下を順に実行

# yum remove docker \

docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-selinux \
docker-engine-selinux \
docker-engine

# yum install -y yum-utils \

device-mapper-persistent-data \
lvm2

# yum-config-manager \

--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo

# yum install docker-ce

インストールされたかどうか確認

$ docker -v

Docker version 17.12.1-ce, build 7390fc6


dockerのプロキシ設定

ここを参考に設定

# mkdir /etc/systemd/system/docker.service.d

# vim /etc/systemd/system/docker.service.d/http-proxy.conf

以下を追記する


/etc/systemd/system/docker.service.d/http-proxy.conf

[Service]

Environment="HTTP_PROXY=http://<user>:<pass>@<proxy_host>:<proxy_port>" "HTTPS_PROXY=http://<user>:<pass>@<proxy_host>:<proxy_port>" "NO_PROXY=localhost"

以下を実行して適用

$ systemctl daemon-reload

$ systemctl restart docker


insecure resistryの設定

Dockerで社内のプライベートリポジトリを使う場合、そのリポジトリが暗号化されていないhttp通信の場合は、insecure registyにそのリポジトリを登録しないと、コンテナイメージをpullすることができないので、公式サイトを参考に以下を設定する

# vim /etc/docker/daemon.json

以下を追記


/etc/docker/daemon.json

{

"insecure-registries" : ["<private_docker_registry_host>:<port>"]
}

以下を実行して適用

$ service docker restart


dockerの自動起動設定

CentOS7の場合はsystemctlでデーモンをコントロールしているので、以下を実行すると、システム起動時に自動的にDockerが立ち上がるようになる

参考

systemctl enable docker.service


docker-composeのインストール

公式サイトの手順に従ってインストールする https://docs.docker.com/compose/install/#install-compose

以下を順に実行

curlのプロキシ設定。参考

$ vim ~/.curlrc

以下を追記


~/.curlrc

proxy-user = "<user>:<pass>"

proxy = "http://<proxy_host>:<proxy_port>"

docker-composeの実行ファイルをインストール。

バージョンはここから最新のものに書き換えること

sudo curl -L https://github.com/docker/compose/releases/download/1.19.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose

sudo chmod +x /usr/local/bin/docker-compose

ちゃんとインストールされたか確認

$ docker-compose --version

docker-compose version 1.19.0, build 9e633ef


docker swarm modeの起動

docker swarmを使う場合は、以下を実行してswarm modeをonにする。(今回はシングルホスト環境でswarmを動かす)

# docker swarm init

以上