あなたは最も強力なDocker機能の一つを見落としています: 平行。 私が見るDockerファイルの90%は、一つのステップが次々と続く巨大な連続リストです。 もしあなたのビルドがそのまま動いているなら、大きなパフォーマンスを犠牲にしていることになります。 数日前、シングルステージのDockerfileがすべてのステップを前のステップに依存させることについて書きました。これによりすべてが遅くなり、効果的にキャッシュすることが不可能になります。 解決策はマルチステージビルドを書くことで、Dockerはビルドステップを並列に実行します。 これだけでもDockerファイルの構築にかかる時間が大幅に向上します(時には3倍から4倍速く!)。 しかし、さらに一歩進めて考えることもできます: ローカルでビルドを動かす代わりに、@depotdev(私のスポンサーの一つ)で動かすことができます。彼らは高性能のリモートビルダーでマルチステージのDockerファイルを動かし、最大40倍の速さでビルドを実現します! それぞれのビルダーは以下の通りです: • 16 CPU • 32GB RAM ・高速ネットワーク ・積極的なキャッシュ ・地域資源の競合がゼロ すべてのステージが並列で動作しているだけでなく、並列ワークロードを圧倒するハードウェア上で動作しています。 ローカルのパソコンは、ファンが鳴り始める前に2〜4つの重い作業を同時に実行する程度です。デポは数十台も稼働可能です。 ...