Monday, September 8, 2014

proxy環境下でcoreos

はまると涙目になるので一応メモ。

proxy環境下でcoreos、更にはdockerを使おうとすると、docker hub (repository)に既存のイメージー例えばredisーを取りにいくところで間違いなく失敗する。

gituhubで公開されているプログラムは、親切な人だとREADME.mdにUsage under proxyみたいな感じで対応を書いてくれるんだけど、正直あまり期待できない。外人さんたちは、あんまりproxyの下にはいないのかね。

愚痴はこれまでにしてproxyを突破する方法。

proxy回避方法

docker.serviceははじめからにcoreosに組み込まれていて、こいつの設定ファイルは以下の場所にある。

/usr/lib64/systemd/system/docker.service
## 中身 ##
Unit]
Description=Docker Application Container Engine 
Documentation=http://docs.docker.io
Requires=docker.socket

[Service]
Environment="TMPDIR=/var/tmp/"
ExecStartPre=/bin/mount --make-rprivate /
LimitNOFILE=1048576
LimitNPROC=1048576
# Run docker but don't have docker automatically restart
# containers. This is a job for systemd and unit files.
ExecStart=/usr/bin/docker -d -s=btrfs -r=false -H fd://

[Install]
WantedBy=multi-user.target

当然ながらproxyなんか考慮しているはずもない。ので、/etc/systemd/system/の下にこのdocker.serviceをコピーして、proxyの設定を付け加える。幸い、coreos(systemd)さんは/etc/systemd/system/の下に同名の.serviceファイルがあると、こっちを優先してくれる模様。

さあ、[Service]の直下に以下の呪文を書き足すのです。

Environment="http_proxy=http://proxy.xxx.yyy.com:1234"

なんだかなあ…。

Written with StackEdit.

No comments:

Post a Comment