search
LoginSignup
29

More than 3 years have passed since last update.

posted at

updated at

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

仕事で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のインストール

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

以下を順に実行

# 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

以上

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
What you can do with signing up
29