Docker: コンテナ技術と Docker の紹介

Docker: コンテナ技術と Docker の紹介

今日はDockerシリーズを始めます。このトピックでは、Docker の基本的な使い方、基本的なコマンド、Dockerfile、および .NET プロジェクトに基づく Docker ストレージとネットワークについて紹介し、説明します。

1. なぜ Docker を学ぶ必要があるのでしょうか?

ここ数年でコンテナ技術は急速に発展し、普及してきました。このような状況において、開発者にとってコンテナ技術は必須の基本スキルの 1 つであると言えます。 Docker は現在、コンテナ テクノロジーの最も人気のある実装です。

最も人気のある DevOps プラットフォームである Kubernetes (K8s) は Dockershim (Docker を K8s のコンテナ ランタイムとして使用できるようにするアダプタ コンポーネント) を廃止しましたが、これは K8s で Docker コンテナを実行できないことを意味するものではありません。 Dockershim は今後もコミュニティや公式によってメンテナンスされ続けることは間違いありませんし、将来的には Docker が CRI 仕様をサポートしてアダプタ コンポーネントの助けを借りずに K8s で実行できるようになる可能性もありますので、今のところはまったく心配する必要はありません。

Docker は市場で依然として非常に人気があり、実際の環境でも Docker を直接使用する方が適しているシナリオがまだ多くあります。

また、個人的には、Docker を学習した後で K8s を学習すると、はるかに簡単になり、多くの概念がそれほど抽象的ではなくなると感じています。

2. コンテナとは何か

名前が示すように、コンテナは IT の世界で標準化された「コンテナ」です。運輸業界では、船や電車で輸送するさまざまな商品を分離するために物理的なコンテナを使用しているのと同様に、ソフトウェア開発技術でもこのコンテナ化されたアプローチが使用されています。

最も古いコンテナ技術は、Linux Container (略して LXC) と呼ばれるツールであり、カーネルの軽量オペレーティング システム層における仮想化技術です。 Linux コンテナの実装には、主に Namespace と Cgroup という 2 つの基本テクノロジが含まれます。前者は主にリソースの分離に使用される名前空間であり、後者は CPU およびメモリの制限、プロセス グループの停止、回復、優先度制御などのリソースの管理と制御を担当します。

仮想化技術の発展に伴い、LXC システム層コンテナ技術をベースに、Docker などのアプリケーション層コンテナ技術が誕生しました。オペレーティングシステム上で実行されるアプリケーションです。このアプリケーションでは、デプロイする必要があるアプリケーションをコンテナ化して、各アプリケーションを分離されたコンテナ内で実行できるようにすることができます。

コンテナの主な利点は、標準化、軽量、持ち運びの容易さ、低コストです。コンテナ テクノロジーは軽量の固定インフラストラクチャを提供するため、ハードウェアを構成する必要がなくなり、展開をホストするためにオペレーティング システムやソフトウェアをインストールする時間を費やす必要もありません。アプリケーション コードを、関連する構成ファイル、ライブラリ、およびアプリケーションを実行するために必要なすべてのものと非常に標準化された方法で組み合わせてパッケージ化できます。これにより、開発者や運用担当者は環境間でアプリケーションをスムーズに展開できるようになり、異なる環境でアプリケーションを正しく実行できないという問題が解決されます。コンテナは互いに分離されているため、アプリケーションのセキュリティが向上します。

3. Dockerとは何か

前述したように、Docker はコンテナ テクノロジの実装です。 Docker は、コンテナを開発、配信、実行するためのコンテナ化プラットフォームです。 Docker for desktop は、Linux、Windows、macOS をサポートしています。サーバー環境の場合、Docker は複数の Linux ディストリビューションと Windows Server 2016 以降をサポートします。多くのクラウド サービス プロバイダー (Alibaba Cloud、Azure など) が Docker をサポートしています。

Docker は C/S (クライアント/サーバー) アーキテクチャを使用します。 Docker クライアントは、Docker コンテナの構築、実行、配布を担当する Docker デーモンと通信します。 Docker クライアントとデーモンは同じシステム上で実行できます。また、REST API を使用して通信するリモート Docker デーモンに Docker クライアントを接続することもできます。もう 1 つの Docker クライアントは Docker Compose です。これを使用すると、一連のコンテナーで構成されたアプリケーションを操作できます。

Docker クライアントは、Docker サーバーと対話するためのコマンドライン インターフェイス (CLI) を提供する、docker と呼ばれるコマンドライン アプリケーションです。 docker コマンドは、REST API インターフェイスを使用して、docker run などの命令をローカル サーバーまたはリモート サーバーに送信し、コンテナーを管理します。 Docker クライアントは複数のデーモンと通信できます。

Docker サーバー内のデーモン (dockerd という名前) は、Docker API リクエストをリッスンし、イメージ、コンテナー、ネットワーク、プラグインなどの Docker オブジェクトを管理します。デーモンは他のデーモンと通信して Docker サービスを管理することもできます。

Docker イメージ リポジトリは、Software as a Service (SaaS) Docker コンテナー レジストリです。 Docker イメージ リポジトリは、作成されたコンテナ イメージを保存および配布するために使用されます。 Docker Hub は、Docker イメージ管理用のデフォルトのパブリック リポジトリです。

4. 結論

この記事では主にコンテナとは何か、Dockerとは何かについて紹介します。コンテナ テクノロジーと Docker について、すでに基本的な理解をお持ちだと思います。

<<:  Kubernetes ソフトウェア サプライ チェーンのセキュリティ保護

>>:  注目すべきオープンソースのクラウドネイティブツール7つ

推薦する

不正行為の疑いのあるサイトをインデックスに戻す方法

カンファレンスでは SEO 担当者とウェブマスター向けにいくつかのヒントを紹介します。たとえば、Go...

事例分析:百度上のタオバオ顧客注文ページのトラフィックが3万~4万件を超える

今日、グループ内の多くの人から強く勧められているサイトを見つけたので、見ずにはいられませんでした。あ...

ブランド効果プロモーション:Docin Libraryの運営

各 SEOER には独自の最適化方法があり、異なるターゲット グループを対象としています。検索エンジ...

Baidu関連のキーワードについての私の個人的な推測

今日は、百度の関連キーワードについての私の個人的な推測についてお話しします。百度の宣伝広告やインター...

調査結果:マルチクラウドが標準になりつつある

パブリック クラウドに多額の投資をする企業が増えており、AWS パブリック クラウドとの差を縮めるた...

銀行機関がクラウド コンピューティングの導入を恐れなくなったのはなぜでしょうか?

セキュリティ上の理由から、銀行機関は従来、業務を運営するために自社のデータセンターに IT 機器を導...

Baiduウェブマスタープラットフォーム:世界にはBaiduのページランクと重みはありません

Baidu ウェブマスター プラットフォームの学生は、ウェブマスターとコミュニケーションを取る際に、...

オリジナルのSEO記事を書くには?なぜ一部のウェブサイトは疑似オリジナル記事を書かないのか

2018年最もホットなプロジェクト:テレマーケティングロボットがあなたの参加を待っていますオリジナル...

レンタルする海外VPSの選び方は?レンタルするのに最適な海外 VPS はどれですか? VPS マーチャント推奨

国内ユーザーが海外のVPSをレンタルする場合、どのように選択すればよいでしょうか?海外VPSレンタル...

SEO 最適化は実際の実践に重点を置く必要があります。机上の話だけではマーケティングの達成には不十分です。

ここ 2 日間は休んでいて、退屈だったので家にいてウェブマスター フォーラムを閲覧していました。休憩...

ミニプログラムの入り口が豊富な場合、ターゲットを絞ったプロモーション活動をどのように行うか?

月収10万元の起業の夢を実現するミニプログラム起業支援プランミニプログラムは、現在、WeChat エ...

クラウド回帰によりCIOはコスト高騰から解放される

パブリック クラウドはビジネスの俊敏性を高める可能性を秘めていますが、重要なコンピューティング リソ...

最も簡単な方法でウェブサイトへのパスワードなしのログインを実装する方法を確認します

ほとんどのウェブサイトでは、ユーザーのログインが必要です。一般的な方法は、ユーザーにアカウントの登録...

エンタープライズSEMプロモーションの効果に影響を与える6つの要素

SEM は Search Engine Marketing の略で、中国語で検索エンジン マーケティ...

ウェブサイトのページ分析: ウェブタグのデザインに関する2、3の事柄

最近のユーザー検索ログでは、多くのユーザーが当社が設計したタグを使用せず、外部の検索エンジンを使用し...