2017-10-18 23 views
0

私は何日もの間大きなWindowsドッカー画像を構築しようとしていましたが、この問題に対処している場所では答えが見つかりません。20GBを超えるWindowsドッカー画像を作成するにはどうすればよいですか?

私は生産用コンテナソリューションを構築しようとしていません。私はサービスのプロトタイプを作成しようとしていますが、Windowsコンテナで実行しています。問題は、私のサービスが約40GBのデータに依存しており、現在そのデータがディスクから読み込まれているということです。明らかに、これは大きなアプローチではなく、プロダクションのコンテナでサービスをホストする前にリファクタリングする必要があります。

コンテナ内のディスクに格納されたこのすべてのデータを使ってイメージを構築するという、すばやく簡単なソリューションがほしいので、サービスがコンテナ内でどのように動作するかについてもっと知ることができます。

このように見えることになります私のイメージ構造:

マイクロソフト/ windowsservercore - >地雷/ data_image - >地雷/ binary_image

data.dockerfile:

FROM microsoft/windowsservercore 
WORKDIR /data/ 
COPY data . 

ビルドコマンド:

docker build --compress -t mine/data_image -f data.dockerfile . 

しばらくすると、このメッセージでビルドに失敗します。 ファイルのコピーに失敗しました:ディレクトリのコピーに失敗しました:\?\ Volume {8cf8bb9b-c1dd-46a3-b353-3c2198754bf8} \ data:ディスクに十分な領域がありません。

これはwindowsfilterディスクドライバと関係がありますが、このドライバについてオンラインで見つけることができるドキュメントはありません。それは存在しないのと同じです。

この問題に関する洞察は大歓迎です!

答えて

0

can't specify a size for docker build yetのようです。

コンテナの実行時にサイズを指定できる機能がDocker CE 17.09に追加されているため、機能は少なくともそこにあります。遠く離れてはいけない解像度のために#34947を見てください。

Linux上では、devicemapperストレージドライバにはdm.basesizeというオプションがありました。デーモンで、すべてのコンテナが起動されたボリュームのサイズを変更できるように設定できました。 Windowsストレージドライバにも同様のオプションがありますか?

関連する問題