proxy配下でのdocker buildについて(Docker for mac)
ひとまず現状のメモ。整理して更新予定。
環境としてはホストがmac OSX。Docker for macを使用(Version 17.03.1-ce-mac5)。
proxy配下かつローカルのDNSを指定している状況。
buildしようとしているimageはubuntu:16.04
うまく行くパターン
- --build-arg使用
docker build --build-arg http_proxy=http://my_proxy:port .
- Dockerfile内でENV利用
ENV http_proxy http://my_proxy:port
- Dockerfile内でapt.confに設定
RUN echo "Acquire::http::proxy \"http://my_proxy:port/\";" >> /etc/apt/apt.conf
うまく行かないパターン
- --build-arg使用だが大文字HTTP_PROXY
docker build --build-arg HTTP_PROXY=http://my_proxy:port .
ホストがUbuntuだと(確か)--build-argで大文字HTTP_PROXYでもうまく行っており結構ハマった。
おまけ:うまく行かない時にDNSのせいかと思ってDockerfile内でcat /etc/resolv.confしてみたところ
# Generated by dhcpcd from eth0.dhcp # /etc/resolv.conf.head can replace this line nameserver 192.168.65.1 # /etc/resolv.conf.tail can replace this line
とのこと。192.168.65.1ってどっから来たのか。ググったところDockerが用意しているようだけど実態がよく分からない。