Docker イメージはプラットフォーム間で実行できます。システム アーキテクチャが同じである限り、同じイメージを使用できます。x86 イメージは x86 システムでのみ使用でき、arm イメージは arm システムでのみ使用できます。 Docker イメージはコンテナにとって非常に重要であり、環境をシミュレートするだけであり、ホスト マシンとはほとんど関係がありません。
このチュートリアルの動作環境: linux7.3 システム、docker-1.13.1 バージョン、Dell G3 コンピューター。
Docker イメージはオペレーティング システムとは何の関係もありません。Docker の最大の価値はイメージ パッケージ化テクノロジです。まず、docker とは何か、イメージとは何か、コンテナーとは何かを理解してから、イメージとオペレーティング システムの関係を理解します。 Docker はカーネルに基づくエンジンおよびテクノロジーです。たとえば、Linux カーネルが使用されている場合、それが Linux カーネルであるかどうかは考慮されますが、Ubuntu であるか CentOS であるかは考慮されません。したがって、docker はオペレーティング システムからの切り離しも実現します。サービスの実行環境をtomcatなどのパッケージにパッケージ化するイメージで、OSのカーネルに加えてtomcatのバイナリパッケージを追加するイメージです。次に、Docker エンジンを介して Tomcat イメージをビルドします。コンテナに関しては、たとえば、Tomcat サービスを作成したい場合、以前の方法では、tar または rpm を介してサーバーに Tomcat をインストールしてから、Tomcat を起動していましたが、複数のマシンをインストールしたい場合は、手動でデプロイする必要がありました。それらを複数回。 Tomcat イメージを取得したので、そのイメージを直接使用して複数の Tomcat を作成できます (Tomcat イメージは複数の Tomcat コンテナー (つまり、Tomcat サービス) を作成できるという関係があり、コンテナーは Tomcat プロセスと見なすことができます。
プログラムを実行するにはオペレーティング システムのサポートが必要であり、プログラム自身のプライベート データとソフトウェアにアクセスする必要があります。 Docker は、ファイルおよびオペレーティング システム API へのすべてのアクセスをリダイレクトするコンテナーであり、アプリケーションが独立したオペレーティング システム上で実行されているように感じられます。Docker は API 呼び出しをインターセプトし、グローバル アクセスをオペレーティング システムにリダイレクトします。プログラムが実際に動作しないようにラップされています。それらにアクセスしてください。 Docker プログラムはコンテナー パッケージの API にアクセスするため、理論的には、これらのコンテナーの API が別のオペレーティング システムに実装されている限り、プログラムを移植できます。これは、プログラムがオペレーティング システムと直接対話せず、システムの動作を感知できないためです。異なるシステムの違い。
さまざまなプラットフォームでの Docker の動作メカニズム
LINUX: Docker は仮想化せずに Linux 上でカーネルを共有し、ネイティブ機能を完全にサポートします。したがって、Linux クラスの Docker のみを作成できます。
Windows: Docker は Windows 上で動作し、Hyper-V または仮想化テクノロジ (Windows カーネルを共有せずに仮想マシンを通じて実装) を有効にします。 Linux ライクな Docker と Windows ライクな Docker を作成できます。
Mac: Docker は、仮想化テクノロジ xhyve または virtualbox を使用して Mac OS にも実装されており、Mac OS カーネルを共有しません。 Linux 風の Docker しか作成できませんが、Mac OSX Docker は作成できません。
システム アーキテクチャが同じであれば、同じイメージを使用できます。たとえば、x86 イメージは x86 システムでのみ使用でき、arm イメージは arm システムでのみ使用できます。 Docker イメージはコンテナーの環境をシミュレートするだけであり、ホスト マシンとはほとんど関係ありません。
推奨される学習: 「docker ビデオ チュートリアル 」
以上がDocker イメージはクロスプラットフォームで実行できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。