Cent OS7の構築を完了した。
社内プロキシの設定をしてyumアップデートもできた。
Dockerのインストールも完了した。
でもDocker Hubからイメージを持ってこようとすると失敗する。
(ノД`)
でハマったので解決までの流れをば。
Dockerのインストール
(1) dockerリポジトリの追加
# yum install -y yum-utils # yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
」
(2) yumパッケージインデックスの更新
# yum makecache fast
」
(3) dockerの最新版インストール
# yum install docker-ce
」
(4) Dockerデーモンの起動
# systemctl start docker
」
(5) Dockerデーモンの常時起動設定
# systemctl enable docker
」
全部で所有時間5分位。
コマンドさえ分かっていれば爆速で構築できちゃうDockerさん。
コンテナ起動
そんでは早速hello worldイメージからコンテナを起動させましょう、というところでエラー…
# docker run hello-world Unable to find image 'hello-world:latest' locally docker: Error response from daemon: Get https://registry-1.docker.io/v2/: proxyconnect tcp: tls: oversized record received with length 20527.See 'docker run --help'.
」
エラーの内容を要約すると、
「ローカルにそんなイメージはないぜ!」
「そして気を効かせてdocker hubから落としてこようとしたけど接続できなかったぜ!」
とのこと。プロキシの設定はしているんだが?(半ギレ)
うだうだしてたらこちらのサイトが参考になった。感謝です。
どうやらdaemonをsystemdで起動している場合は、/etc/systemd/system/配下にdocker.service.dディレクトリを作ってプロキシ用のコンフィグを作ってあげないといけないらしい。
要は、OSだけでなくDockerデーモン自体にプロキシの設定をしないといけない。
めんどくさいけど配置するだけで認識するのはすごい。
ということでディレクトリとコンフィグを作りませう。
# mkdir /etc/systemd/system/docker.service.d # vi /etc/systemd/system/docker.service.d/http-proxy.conf
」
そして社内プロキシの情報を記入。
[Service] Environment="HTTP_PROXY=http://proxy.example.co.jp:8080/""HTTPS_PROXY=http://proxy.example.co.jp:8080/"
」
忘れずにデーモンのリロードと再起動。
# systemctl deamon-reload # systemctl restart docker
」
リベンジ成功!
# docker run hello-world Unable to find image 'hello-world:latest' locally Hello from Docker! This message shows that your installation appears to be working correctly.(略)
」
最近もWindowsでhostsとプロキシの優先順位だなんだとプロキシにはいじめられております。とりあえずネットワーク周りで動かない場合は此奴を疑おう…
次はいよいよDocker上でZabbixを動かすぞい。
おしまい。