ホームページ  >  記事  >  運用・保守  >  ドッカーエンジンとは何ですか

ドッカーエンジンとは何ですか

青灯夜游
青灯夜游オリジナル
2021-12-30 16:42:292823ブラウズ

Docker エンジンは、コンテナーの実行と管理に使用されるコア ソフトウェアであり、その主なコンポーネントは、Docker クライアント、Docker デーモン、containerd、runc です。

ドッカーエンジンとは何ですか

このチュートリアルの動作環境: linux5.9.8 システム、docker-1.13.1 バージョン、Dell G3 コンピューター。

1. Docker エンジンの概要

  • Docker エンジンは、コンテナーの実行と管理に使用されるコア ソフトウェアです

  • Docker エンジンAPI、実行ドライバー、ランタイム、shim プロセスなど、多くの特殊なツールが連携してコンテナーを作成および実行します。

  • Docker エンジンの主なコンポーネントは、Docker クライアント、Docker デーモン、containerd、runc です。

2. Docker エンジンの詳細説明

  • Docker が最初にリリースされたとき、Docker は LXC と Docker デーモンという 2 つのコア コンポーネントで構成されていました。
  • Docker デーモンは、Docker クライアント、Docker API、コンテナー ランタイム、イメージ構築などを含む単一のバイナリ ファイルです。
  • LXC は、Linux カーネルに基づくコンテナ仮想化テクノロジである、名前空間やコントロール グループ (CGroup) などの基本ツールを操作する機能を提供します。 Docker バージョン 0.9 では、Libcontainer がデフォルトの実行ドライバーとして LXC を置き換えます。

2.1. Docker デーモン

  • Docker デーモンの整合性により、ますます多くの問題が発生します:
    • 変更の難しさ
    • 実行速度がどんどん遅くなっている
    • これは環境保護企業が期待していたものではありません
  • デーモンは gRPC およびコンテナー通信を介して CRUD スタイルの API を使用しています

2.2. runc

  • runc は本質的に、Libcontainer 用にパッケージ化された軽量のコマンドライン対話型ツールです。
  • Runc 関数: コンテナーの作成

2.3.containerd

  • Main 関数: コンテナーのライフサイクル管理 –start|stop | stop|rm…

2.4. shim

  • shim はデーモンのないコンテナを実装するために不可欠なツールです。Runc はコンテナが作成されるたびに新しいコンテナを作成します。新しい runc インスタンスがフォークされ、コンテナーが作成されると、対応する runc プロセスが終了します。
  • 親プロセス runc が終了すると、関連付けられたコンテナー shim プロセスがコンテナーの親プロセスになります
  • shim の役割の一部:
    • すべての STDIN および STDOUT ストリームを保持しますオープン状態。デーモンが再起動されたときに、パイプが閉じられてコンテナーが終了することはありません。
    • コンテナの終了ステータスをデーモンにフィードバックします。

2.5. Linux での実装

  • dockerd(Docker デーモン)、docker-containerd(containerd)、両方の docker -containerd-shim(shim) と docker-runc(runc) は別個のバイナリとして実装されます。

2.6. デーモンの役割

  • 主な機能: イメージ管理、イメージ構築、REST API、認証、セキュリティ、コアネットワーク、オーケストレーション。

推奨学習: 「docker ビデオ チュートリアル

以上がドッカーエンジンとは何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。