目次
1. Docker エンジンの概要
2. Docker エンジンの詳細説明
2.1. Docker デーモン
2.2. runc
2.3.containerd
2.4. shim
2.5. Linux での実装
2.6. デーモンの役割
ホームページ 運用・保守 Docker ドッカーエンジンとは何ですか

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

Dec 30, 2021 pm 04:42 PM

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 までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Docker Swarmクラスターにアプリケーションを展開するにはどうすればよいですか? Docker Swarmクラスターにアプリケーションを展開するにはどうすればよいですか? Mar 17, 2025 pm 04:20 PM

この記事では、プロセス中の準備、展開ステップ、セキュリティ対策をカバーするDocker Swarmへのアプリケーションの展開を詳細に説明します。

Kubernetesのポッド、展開、サービスとは何ですか? Kubernetesのポッド、展開、サービスとは何ですか? Mar 17, 2025 pm 04:25 PM

この記事では、Kubernetesのポッド、展開、およびサービスについて説明し、コンテナ化されたアプリケーションの管理における役割について詳しく説明しています。これらのコンポーネントが、アプリケーション内のスケーラビリティ、安定性、および通信をどのように強化するかについて説明します。(159文字)

Kubernetesでアプリケーションをスケーリングするにはどうすればよいですか? Kubernetesでアプリケーションをスケーリングするにはどうすればよいですか? Mar 17, 2025 pm 04:28 PM

この記事では、手動スケーリング、HPA、VPA、およびCluster Autoscalerを使用してKubernetesのスケーリングアプリケーションについて説明し、スケ​​ーリングを監視および自動化するためのベストプラクティスとツールを提供します。

Docker Swarmでサービスを管理するにはどうすればよいですか? Docker Swarmでサービスを管理するにはどうすればよいですか? Mar 17, 2025 pm 04:22 PM

記事では、Docker Swarmのサービスの管理、ダウンタイムなしで作成、スケーリング、監視、更新に焦点を当てています。

Docker Swarmにローリングアップデートを実装するにはどうすればよいですか? Docker Swarmにローリングアップデートを実装するにはどうすればよいですか? Mar 17, 2025 pm 04:23 PM

この記事では、Docker Swarmにローリングアップデートを実装して、ダウンタイムなしでサービスを更新することについて説明します。サービスの更新、更新パラメーターの設定、監視の進捗状況、スムーズな更新の確保をカバーしています。

Kubernetesでの展開を管理するにはどうすればよいですか? Kubernetesでの展開を管理するにはどうすればよいですか? Mar 17, 2025 pm 04:27 PM

この記事では、さまざまなツールとベストプラクティスを使用して、作成、更新、スケーリング、監視、および自動化に焦点を当てたKubernetesの展開の管理について説明します。

Docker Swarmクラスターを作成するにはどうすればよいですか? Docker Swarmクラスターを作成するにはどうすればよいですか? Mar 17, 2025 pm 04:19 PM

記事では、セットアップ、スケーリングサービス、セキュリティベストプラクティスなど、Docker Swarmクラスターの作成と管理について説明します。

Dockerインタビューの質問:DevOpsエンジニアリングインタビューをエース Dockerインタビューの質問:DevOpsエンジニアリングインタビューをエース Apr 06, 2025 am 12:01 AM

Dockerは、DevOpsエンジニアにとって必須のスキルです。 1.Dockerは、アプリケーションとその依存関係をコンテナにパッケージ化することにより、分離と移植性を実現するオープンソースのコンテナ化されたプラットフォームです。 2. Dockerは、名前空間、コントロールグループ、フェデレーションファイルシステムで動作します。 3。基本的な使用には、コンテナの作成、実行、管理が含まれます。 4.高度な使用法には、DockerComposeを使用してマルチコンテナーアプリケーションを管理することが含まれます。 5.一般的なエラーには、コンテナ障害、ポートマッピングの問題、データの持続性の問題が含まれます。デバッグスキルには、ログの表示、コンテナの入り、および詳細情報の表示が含まれます。 6.パフォーマンスの最適化とベストプラクティスには、画像の最適化、リソースの制約、ネットワーク最適化、DockerFileを使用するためのベストプラクティスが含まれます。

See all articles