あお日記

理系研究者のブログです。勉強したことや本の感想などを中心に残して行くつもりです。

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が用意しているようだけど実態がよく分からない。