docker tutorial をフォローしており、次を使用してアプリをビルドする必要がある部分にいます:
docker build -t friendlyhello .
ステップ4まで進み、一時停止後にこのエラーが表示されます。
Step 4/7 : RUN pip install -r requirements.txt
---> Running in 7f4635a7510a
Collecting Flask (from -r requirements.txt (line 1))
Retrying (Retry(total=4, connect=None, read=None, redirect=None)) after
connection broken by
'NewConnectionError('<pip._vendor.requests.packages.urllib3.connection.VerifiedHTTPSConnection
object at 0x7fe3984d9b10>: Failed to establish a new connection:
[Errno -3] Temporary failure in name resolution',)': /simple/flask/
このエラーが何を意味するのか、どうすれば解決できるのかよくわかりません。
ご協力いただきありがとうございます!
Ubuntu 16.04とDockerバージョン17.09.0-ceでも同じ問題が発生しました。 DNSマスクを無効にすることは正しい解決策ではないと思います。
ここに私がそれを解決した方法があります:
Ubuntuの場合
/ etc/default/dockerを編集し、DNSサーバーを次の行に追加します。
例DOCKER_OPTS="--dns 8.8.8.8 --dns 10.252.252.252"
この投稿は私にも役立ちました!
Dns mask[sic]disableで解決:
Sudo vim /etc/NetworkManager/NetworkManager.conf
dns = dnsmasqをコメントアウト->#dns = dnsmasq
Sudoサービスネットワークマネージャーの再起動(または再起動VM)
bkasapの答えは、私が言うに誇張されているシステムの機能を変更します。さらに、Dockerにはそのためのオプションがあるためです。それを行う新しい方法は
$ Sudo vi /etc/docker/daemon.json
次のコンテンツを追加します
{
"dns": ["8.8.8.8", "8.8.4.4"]
}
することを忘れないでください
Sudo service docker restart
Docker-ce 17のUbuntu 16.04.1マシンでも同じ問題が発生しています。ネットワークのDNSマスクを無効にすることで修正されました。
Sudo nano /etc/NetworkManager/NetworkManager.conf
Ctrl + O保存してEnter終了Ctrl + Xを押す
以下のコマンドを実行して、ネットワークサービスを再起動します。
Sudo service network-manager restart
この後、docker buildコマンドを実行すると、すべてが正常に機能します。
今やりました Sudo service docker restart
そして、それは後に働きました。設定を変更するために飛び込む前に、一見の価値があります。
馬鹿げていますが、このエラーが発生したときにVPNが接続されていました。
VPNを切断した後、PIPは再び機能し始めました。
このエラーは、Dockerコンテナーがネットワークにアクセスできないことを意味します。 systemdバージョン220以降、特定のネットワークの転送設定(net.ipv4.conf..forwarding)はデフォルトでオフになっています。この設定により、IP転送が防止されます。また、コンテナ内でnet.ipv4.conf.all.forwarding設定を有効にするというDockerの動作とも競合します。
コンテナがネットワークの内部にあるホストを解決する必要がある場合、パブリックネームサーバーは適切ではありません。次の2つの選択肢があります。
これらの手順を実行する方法について読むことができます here
Windows 10 Proでこの問題が発生したため、トレイのドッカーアイコンを右クリックして[再起動...]を選択することで解決しました。数分かかり、ネットワークは再び正常に動作しました。