Dockerでbuildするぞーみたいなときに、どうもネットワーク周りのエラーで処理が完了しない。あたしの手元で起きた症状は、pipインストールするにもパッケージを落としてくることができず、リトライを繰り返して死ぬというもの。

Step 4/14 : RUN pip install –upgrade pip && pip install -r /app/requirements.txt
—> Running in d75750d3ae36
Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by ‘NewConnectionError(‘: Failed to establish a new connection: [Errno -3] Temporary failure in name resolution’)’: /simple/pip/

(docker buildのログ抜粋)


Failed to establish a new connection.
あーもうはいはいってくらいあちこちで見かけるやつだが、Dockerでこれって一体?
調べてみると、どうも一部ではよく知られた話っぽくて、対処法もある。

DockerのLinuxコンテナ内で名前解決エラーに困っていたら、もくもく会参加者に助けられた話 – Qiita
https://qiita.com/tatamiya/items/d40dab5bb7b23be3548f

うちの場合は、daemon.jsonというファイルを探して(Windowsだと二箇所以上にあるかもしれない。ProgramData\Docker\configと、Users\YOU\.dockerの二箇所)、以下を追記した。

{"dns": ["8.8.8.8", "8.8.4.4"]}

んでDockerをリスタートして、おわり。無事ビルドできるようになってめでたしめでたし。

8.8.8.8ってなってんだけどなー

じつはもともとDockerの設定はこうなってるんだけども、それとは別にjsonへの追記がいるってことなのね?このへんちょっとピンときてない。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です