2017-10-11 17 views
3

私は最初のDockerイメージを作成するためにhttps://docker-curriculum.com/のチュートリアルに従っています。 2.4節では、からpipとインストールの依存関係を自動的に実行する基本イメージpython:3-onbuildを使用して簡単なDockerfileを構成する方法を教えています。Dockerカリキュラムチュートリアル、python pipが失敗する

問題は、私がドッキングウィンドウを構築しようとすると、パッケージは単に負荷に失敗している:

[email protected]:~/workspace/docker-curriculum/flask-app$ docker build -t prakhar1989/catnip . 
Sending build context to Docker daemon 8.704kB 
Step 1/3 : FROM python:3-onbuild 
# Executing 3 build triggers... 
Step 1/1 : COPY requirements.txt /usr/src/app/ 
---> Using cache 
Step 1/1 : RUN pip install --no-cache-dir -r requirements.txt 
---> Running in 74c4e94fa1ba 
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 0x7fc6592831d0>: Failed to establish a new connection: [Errno -3] Temporary failure in name resolution',)': /simple/flask/ 
    Retrying (Retry(total=3, connect=None, read=None, redirect=None)) after connection broken by 'NewConnectionError('<pip._vendor.requests.packages.urllib3.connection.VerifiedHTTPSConnection object at 0x7fc659283cc0>: Failed to establish a new connection: [Errno -3] Temporary failure in name resolution',)': /simple/flask/ 
    Retrying (Retry(total=2, connect=None, read=None, redirect=None)) after connection broken by 'NewConnectionError('<pip._vendor.requests.packages.urllib3.connection.VerifiedHTTPSConnection object at 0x7fc659283208>: Failed to establish a new connection: [Errno -3] Temporary failure in name resolution',)': /simple/flask/ 
    Retrying (Retry(total=1, connect=None, read=None, redirect=None)) after connection broken by 'NewConnectionError('<pip._vendor.requests.packages.urllib3.connection.VerifiedHTTPSConnection object at 0x7fc659283470>: Failed to establish a new connection: [Errno -3] Temporary failure in name resolution',)': /simple/flask/ 
    Retrying (Retry(total=0, connect=None, read=None, redirect=None)) after connection broken by 'NewConnectionError('<pip._vendor.requests.packages.urllib3.connection.VerifiedHTTPSConnection object at 0x7fc659283ba8>: Failed to establish a new connection: [Errno -3] Temporary failure in name resolution',)': /simple/flask/ 
    Could not find a version that satisfies the requirement Flask (from -r requirements.txt (line 1)) (from versions:) 
No matching distribution found for Flask (from -r requirements.txt (line 1)) 
The command '/bin/sh -c pip install --no-cache-dir -r requirements.txt' returned a non-zero code: 1 
[email protected]:~/workspace/docker-curriculum/flask-app$ 

私はこのstackoverflow solutionを見てきました。これらの答えは、DNS(Domain Name Server)に接続できず、ドッカーをリセットしたり、DNSを追加したりすると、多くの人々の問題が解決されたようです。/etc/dhcp/dhclient.confは何もしませんでした。

ドッカーのバージョン17.09.0-ceがインストールされていて、Ubuntu 16.04で動作していますか?

+0

@ JanezKuharこれは問題ではないようです。私は 'User image'を引っ張っているので、someonesリポジトリをクローンするようなものです。私もあなたのソリューションを試しましたが、これは同じ結果につながった – Max

+0

https://pypi.python.org/pypiにアクセスしようとすると接続エラーが発生したというエラーメッセージが表示されます。画像を作成しているマシンをそのサイトに接続できますか? – jwodder

+0

いいえできません。基本的には、マシンが正しいDNSを見つけることができないため、サーバーに接続できないという問題があります。しかし、SOソリューションのソリューションを試した後、私はまだ接続することができません – Max

答えて

1

プロキシを使用している場合。ドッカーのコンテナがインターネットにまったく届かない可能性が高い。

は、あなたはそれはあなたが問題を持って知っているハングする場合

$ docker run -it busybox sh 
/# ping google.com 

を実行することによってこれをテストすることができます。ホストマシンがインターネットに接続するために使用するネットワークインタフェースを見つける必要があります。 ipconfigはあなたの名前のリストを提供します。いずれかがインターネットに接続するために使用されているものはあなたのIFACENAMEです。今すぐ実行:

$ nmcli dev list | grep 'IP4.DNS'     # Ubuntu <= 14 
$ nmcli device show IFACENAME | grep IP4.DNS   # Ubuntu >= 15 

これは、プロキシサーバーが配置されているIP_ADDRESSを一覧表示します。 1つ以上のものがあります。最初のものを使用してください。あなたは今、コンテナ内からpingを実行することができるはず

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

最後に、

$ sudo service docker restart 

:以下の内容のファイル/etc/docker/daemon.jsonを作成します。

関連する問題