2017-03-02 5 views
4

私のラップトップに画像を構築しようとしているとドッキングが非常に遅いです。 同じドッカーバージョンの私のubuntu内の仮想マシンで同じイメージを構築しようとしましたが、それは5秒で構築されますが、私のラップトップでは30回遅くなりました。 でもENVコマンド!ドッカーのビルドが遅い理由

ラップトップは、ルートファイルシステムとしてBtrfsを使用してOpenSUSE 42.2 Leapを使用します.5400 rpmのHDDも暗号化されています。 私はこれらの要因をすべて知っていますが、私のビルドが5秒ではなく15分かかるという意味がありますか?

ドッカー1.13.1。

ありがとうございました。

UPD。

を仮想マシンで実行すると、4コアCPUの10%が5秒間使用され、HDDが大量に使用されます。

しかし、ラップトップでは、4コアCPUの1つのコアを常に100%使用しており、HDDはほとんどすべての時間アイドル状態のままです。

ここ

あるNMON統計は: - その断片化のようにあなたのラップトップのbtrfsファイルシステムが問題を抱えているよう enter image description here

+1

Dockerfileと必要なファイルはすべて特定のディレクトリにありますか?そうでなければ、 "buid context"はあなたの現在のディレクトリのすべてのファイルであり、遅くなります。 http://stackoverflow.com/questions/26600769/build-content-for-docker-image-very-largeを参照してください – user2915097

+0

ええ、私はすべてのファイルをビルドコンテキストの中に持っています。それは単なるバッシュスクリプトです。 –

+0

だから 'strace dockerあなたの15分の間に何が起こるのかを示すはずです – user2915097

答えて

1

これが聞こえます。 btrfsのチューニングを検討してください。ドッカーとbtrfs https://docs.docker.com/engine/userguide/storagedriver/btrfs-driverに関連するドッカードキュメントのこのセクション、特にフラグメンテーションを指し示すパフォーマンスに関するセクションも見ていきます。

+1

私はそれが現在断片化されている可能性があると思います - * def_jp_needs_はデフラグされますか?私はbtrfsについて多くのことを知っているわけではないので、ほとんどは言語的な観点からです;) – Nanne

+0

ありがとう、それは正しいです。私は断片化したと言わなければならない - それを更新した。 – abdollar

+0

あなたの答えはありがたいですが、私は自分のfsを最適化しようとしましたが、助けにならなかった –