こんにちは、
docker-compose + docker-machineを使用して、リモートクラウドマシンにサービスをデプロイしています。 docker-compose build
の最初のフェーズは、適切なインターネット接続(通常は3分から15分)を使用すると非常に遅いことに気付きました。
--verbose
実行している場合、低速フェーズはdocker build <- (pull=False, nocache=False, stream=True, tag=u'backenddev_web', path='XXX', rm=True, dockerfile='Dockerfile-production')
ラップトップのアクティビティモニターからわかるように、これはデータのアップロードが行われているフェーズです。 また、構築元のディレクトリのサイズを小さくすると、時間が短くなることにも気づきました。 このフェーズでのアップロード速度は、GoogleComputeとDigitalOceanのどちらで構築していても、100Ko / sから200Ko / sの間です。これはかなり遅いと感じます。 少なくとも800Ko / sをアップロードできるはずです。
物事をスピードアップする方法や私の問題を深く掘り下げる方法はありますか?
ありがとう。
build
の最初の部分は、ビルドコンテキストをDockerエンジンにアップロードすることです。 ビルドコンテキストは、ディレクトリとサブディレクトリ内のすべてです。 大きなデータファイルや大きな.git
がある場合は、不要なものをたくさんアップロードしている可能性があります。 .dockerignore
が追加されたため、アップロードしたくないファイルをスキップできます。
https://docs.docker.com/reference/builder/#dockerignore -file
これは役立つはずです、 .git
無視してすでに1000万が節約されました! ありがとう。
すごい!
build
の最初の部分は、ビルドコンテキストをDockerエンジンにアップロードすることです。 ビルドコンテキストは、ディレクトリとサブディレクトリ内のすべてです。 大きなデータファイルや大きな.git
がある場合は、不要なものをたくさんアップロードしている可能性があります。.dockerignore
が追加されたため、アップロードしたくないファイルをスキップできます。https://docs.docker.com/reference/builder/#dockerignore -file
私はあなたに大きないいねを与えなければなりません、あなたの答えは本当に私の問題を解決します。
最も参考になるコメント
build
の最初の部分は、ビルドコンテキストをDockerエンジンにアップロードすることです。 ビルドコンテキストは、ディレクトリとサブディレクトリ内のすべてです。 大きなデータファイルや大きな.git
がある場合は、不要なものをたくさんアップロードしている可能性があります。.dockerignore
が追加されたため、アップロードしたくないファイルをスキップできます。https://docs.docker.com/reference/builder/#dockerignore -file