MacO での Docker の動作の遅さは、Docker コンテナを効率的に実行したいユーザーにとって永続的な問題です。
問題の根本
とは異なりますLinux、MacO、Windows には、Docker の最適なパフォーマンスに必要なネイティブ Linux カーネルがありません。代わりに、Docker コンテナをホスト カーネルから分離する抽象化レイヤーを備えたクライアント ベースのアーキテクチャが採用されています。このアーキテクチャの違いにより、ファイルシステムの非互換性によるパフォーマンスの低下が生じます。
パフォーマンスへの影響
このアーキテクチャ上の制限の影響は、上で実行されている Symfony アプリケーションのパフォーマンス メトリクスで明らかです。 MacOS 環境内の Docker。特に最初のレンダリング段階で、実行時間の大幅な低下が観察されます。 Symfony と Docker に実装されたキャッシュ メカニズムはわずかな改善をもたらしますが、Docker を使用せずに MacO 上で Symfony をネイティブに実行したときに達成されるパフォーマンスには匹敵しません。
緩和テクニック
MacO での Docker の実行に伴うパフォーマンスのオーバーヘッドを完全に排除するには、特定の方法を実践することで、その影響を最小限に抑えることができます。 1 つのアプローチには、次の方法でボリュームを利用することが含まれます:
volumes: - .:/application:cached
以上がmacOS で Docker のパフォーマンスが非常に遅いのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。