macOS での Docker のパフォーマンスの問題
macOS で Docker を実行すると、ユーザーは重大なパフォーマンス制限に遭遇することが多く、効率的な開発の妨げになります。この問題は、macOS 上の Docker アーキテクチャの基本的な性質に起因します。
Docker の動作には Linux カーネルが必要ですが、macOS にはネイティブで Linux カーネルが提供されていません。代わりに、Docker を実行するクライアントと、macOS と Docker コンテナ間の抽象化レイヤーを採用します。この抽象化レイヤーにより互換性の問題が生じ、Docker の実行がネイティブ Linux システムよりも遅くなります。
この違いを説明するために、実際の例を考えてみましょう。 macOS Mojave で Docker v18 を使用する MacBook で Symfony 4 アプリケーションを実行すると、おおよその実行時間は次のようになります:
比較すると、Symfony キャッシュを利用しながら Docker を使用せずに同じアプリケーションを実行すると、実行時間は約 82 ミリ秒になります。
macOS で Docker のパフォーマンスを向上させるには、ボリューム キャッシュの実装を検討してください。 「:cached」オプションを使用すると、Docker はファイル システムの操作にかかる時間を大幅に短縮できます。この最適化は、macOS と Docker コンテナ間の抽象化レイヤーに関連するパフォーマンスの低下を軽減するのに役立ちます。
以上がmacOS では Docker のパフォーマンスがネイティブ Linux システムよりも遅いのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。