2016-09-17 8 views
1

ドッカーはWindowsのボックスで正常に動作しています。画像をdocker build .にしようとすると、dockerはステップ1で大きな画像ファイルをたくさんダウンロードします。これは問題ありません。しかし、私が最後に試したときに、1つの画像ファイル以外のすべてがダウンロードされたときに予期しない中断が発生しました。
もう一度ビルドすると、すべてのダウンロードが新たに開始されました。これは何度も起こりました。私の質問は、ドッカーは既にダウンロードしたファイルをどこかにキャッシュしないのですか、この繰り返しのダウンロードを避ける方法はありませんか?ここ
これは画像ファイルがダウンロードされているdocker build .ingensi/play-framework画像の繰り返しダウンロード

Sending build context to Docker daemon 7.543 MB 
Step 1 : FROM ingensi/play-framework 
latest: Pulling from ingensi/play-framework 
a3ed95caeb02: Pull complete 
6b8936f53711: Downloading 10.77 MB/77.28 MB 
ba9b63c22e85: Downloading 8.222 MB/18.17 MB 
c8f760722057: Download complete 
05c3b10b9cd9: Waiting 
eea97537ef12: Waiting 
40254e2b433f: Waiting 
66be6357e6af: Waiting 
ca0f372c20c8: Waiting 
1f9b623e6354: Waiting 

を実行している上のコンソール出力である私のDockerfile

# Dockerfile 
FROM ingensi/play-framework 
COPY activator.sh /activator.sh 
EXPOSE 8000 
RUN mkdir /app 
WORKDIR /app 
CMD ["activator","run"] 

は常に同じであり、左側のコードで同じ順序の判定に表示され、ファイルサイズ。

+0

ドッカービルドコマンドの出力と使用している実際のコマンドを共有できますか? – rainkinz

答えて

0

私がもう一度ビルドしたとき、すべてのダウンロードが新たに開始されました。これは何度も起こりました。

私の質問は、ドッカーは既にダウンロードしたファイルをどこかにキャッシュしないのですか?

はい、画像はキャッシュフォルダに保存されます。
は "Where are docker images stored on the host machine?" は、あなたの場合は

は、あなたが実行するために、マイクロソフトのHyper-Vを必要とDocker for Windowsを使用する場合があります参照してください。
キャッシュの問題がありますが、ローカルではなくonly for Docker cloudです。

は、私がコメントで助言:

docker-machine ssh 
cd /C/Users/<yourLogin>/path/to/your/project 
docker build 
+0

画像が保存されている場所のSOリンクを確認しました。 '%USERPROFILE%'の下にある唯一のフォルダはログファイルのみを含む '.VirtualBox'と' cache'、 'machines'と' certs'フォルダを含む '.docker/machine'です。だから私の男は 'boot2docker.iso'と 'boot2docker.iso.tmpxxxx'しか持っていない' cache'でなければなりません。すでにダウンロードした画像の兆候はありません。間違った場所を探している可能性があります。ローカルで実行されているので、キャッシュの問題はありません。私の混乱は残っています。もし同じコマンドを実行したときに、他のツールと同じように、ドッキングできない場所からキャッシュを取り出せないのですか? – egima

+0

@egimaどのドッカーのバージョンを使用していますか?どのOSで? Windows 10の場合、HyperVを使用していますか? – VonC

+0

Windows 8.1でdocker 1.12.0 build 8eab29eを使用しています。私はドッカーの公式[リンク](https://docs.docker.com/v1.8/installation/windows/)の指示に従ってインストールします。 – egima

1

それは不明だあなたDockerfileのどの部分ダウンロードするファイルを引き起こします。 Dockerは、レイヤーを作成するためにダウンロードされたファイルではなく、イメージレイヤーをキャッシュすることに注意してください。これを利用する方法の詳細はこちら:https://docs.docker.com/engine/userguide/eng-image/dockerfile_best-practices/#/build-cache

+0

これをクリアするためにコンソール出力を追加しました。リンクを確認するだけですが、ドッカーが再利用可能なイメージレイヤーをキャッシュする前に、ダウンロード全体を完了する必要があると言っていますか? – egima

関連する問題