dockerは仮想マシンですか?
dockerは仮想マシン(VM)ではありません。 VMは、物理マシンのハードウェア全体を仮想化し、完全で独立したオペレーティングシステムインスタンスを作成します。これは、VMにはフルカーネル、システムライブラリ、およびその他のOSコンポーネントが含まれているため、フットプリントが比較的大きく、スタートアップ時間が遅くなります。 各VMは、独自の専用リソース(CPU、メモリ、ディスクスペース)を必要とします。
Dockerは、ホストオペレーティングシステムのカーネルを利用しています。 コンテナ化と呼ばれるテクノロジーを活用し、複数のコンテナ間でホストOSカーネルを共有します。 これは、DockerコンテナがVMよりもはるかに軽量で効率的であり、より速く起動し、リソースを必要とする必要があることを意味します。 基本的に、Dockerコンテナはホストのカーネルを共有し、VMには独自のカーネルを共有しています。 このように考えてみてください:VMはまったく新しい家を建てるようなもので、Dockerコンテナは既存の家の中に別の部屋を建てるようなものです。 各部屋(コンテナ)には異なる家具と装飾(アプリケーションと構成)がありますが、それらはすべて同じ基盤(ホストOSカーネル)を共有しています。
-
軽量で速い:dockerコンテナは、VMSよりもはるかに小さく、開始が速くなります。 これは、ホストOSカーネルを共有して、各アプリケーションの完全なOSインスタンスのオーバーヘッドを排除するためです。
-
リソース効率:軽量であるため、DockerコンテナはVMSよりも少ないシステムリソース(CPU、メモリ、ディスクスペース)を消費します。 これにより、同じハードウェア上でより多くのコンテナを実行できます。
-
ポータビリティ:Dockerコンテナは非常にポータブルです。 「一度ビルド、どこでも実行」という哲学は、1つのマシンに構築されたDockerコンテナが、基礎となるOS分布に関係なく、Dockerがインストールされている他のマシンで一貫して実行する必要があることを意味します(OSカーネルが互換性がある限り)。 Dockerコンテナは、一貫した結果を伴うさまざまな環境(開発、テスト、生産)に簡単に展開できます。 必要に応じて追加のコンテナを簡単にスピンアップできるため、スケーリングアプリケーションも簡素化されています。
- バージョン:docker画像(コンテナ用のテンプレート)はバージョンで変更でき、必要に応じて以前のバージョンに簡単に追跡してロールバックできます。一貫したアプリケーション環境を展開します。
システムにDockerコンテナをインストールして実行するにはどうすればよいですか?- Dockerコンテナのインストールと実行のプロセスは、オペレーティングシステム(Windows、MacOS、またはLinux)によってわずかに異なります。ただし、一般的な手順は次のとおりです
-
インストールDocker:公式Docker WebサイトからDockerデスクトップ(WindowsおよびMacOS用)またはDockerエンジン(Linux用)をダウンロードしてインストールします。オペレーティングシステムに固有のインストール手順に従って。 Dockerイメージは、アプリケーションの実行に必要なすべてを含む読み取り専用テンプレート(コード、ランタイム、システムツール、ライブラリ)です。
コマンドを使用して画像を引くことができ、その後に画像名(例:- )が続くことができます。 このコマンドは、画像に基づいて新しいコンテナインスタンスを作成します。 たとえば、ubuntuコンテナをインタラクティブに実行するには、コマンドを使用します。 フラグは、コンテナのstdinに接続された擬似ツーティを割り当て、インタラクティブな使用を許可します。
docker pull
docker pull ubuntu
コンテナの管理:-
(リストランニングコンテナ)、(停止)、
docker run
(コンテナを削除)など、さまざまなドッカーコマンドを使用してドッカーコンテナを管理できます。 コマンドの完全なリストについては、Dockerドキュメントを参照してください。 これにより、開発者はさまざまなプラットフォーム全体で一貫してアプリケーションを構築、出荷、および実行できます。docker run -it ubuntu bash
-it
ソフトウェアも、コンテナの作成、展開、および管理を可能にするツールとテクノロジーのスイートで構成されています。これには、Dockerエンジン(コアランタイム)、Docker Hub(Docker画像のレジストリ)、およびDockerエンジンと対話するためのDocker CLI(コマンドラインインターフェイス)が含まれます。 これらのコンポーネントは協力して完全なコンテナ化プラットフォームを提供します。
以上がDockerは環境またはソフトウェアですの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。