Dockerは、コンテナーランタイム環境を提供するオープンプラットフォームツールです。このソフトウェアの助けを借りて、プログラマーは、オンプレミスやパブリッククラウドなど、どこにでもコンテナーとしてコードを開発、出荷、実行できます。 Dockerは、OSレベルの仮想化を利用してコンテナーを起動します。 Docker Engineは、Dockerがインストールされ、コンテナーがスピンされるホストです。
オープンソース環境での運用を希望するアプリ開発者であれば、DockerがDebianバージョン11(Bullseye)で提供するものを高く評価するでしょう。さらに、このソフトウェアは、対象となるアプリとその優先開発インフラストラクチャが相互に主権を持っているため、配信を高速化します。
Dockerはソフトウェア開発とテストのインフラストラクチャを制御しますが、開発者はアクティブに実行されているアプリやまだ開発中のアプリを管理します。そのため、Dockerの方法論は、関数型コードを記述してから本番環境に移行するまでのタイムラインを不吉に短縮します。その結果、アプリケーションコードのテスト、出荷、および展開が迅速になります。
Dockerプロジェクトにより、基本的にDevOpsはアプリを「一度ビルドしてどこでも実行」としてパッケージ化することが容易になりました。 戦略。つまり、アプリを1回作成すれば、どこでも実行または実行できます。
Dockerコンテナ
それらは実行可能イメージと考えることができます。 Dockerアプリケーションプログラミングインターフェイス(API)またはコマンドラインインターフェイス(CLI)を使用すると、Dockerコンテナーでさまざまな操作を実行できます。また、コンテナを1つ以上のネットワークに接続したり、コンテナにストレージを追加したり、既存の状態から新しいDockerイメージを作成したりすることもできます。
コンテナは、そのホストおよびデフォルトのマシンから習慣的に十分に分離されています。コンテナのプライベートネットワーク、そのストレージ、およびその他の基本的なサブシステムを管轄します。コンテナのイメージと提供するコンフォメーション制約は、コンテナの作成または初期化に使用されます。永続ストレージに保存されていないコンテナの状態に対する変更や修正は、コンテナを削除すると失われます。
以下はいくつかの用語/Dockerコンポーネントです
Dockerコンテナ: これは、アプリケーションとその依存関係を持つDockerイメージの実行サンプルです。各コンテナには固有のID(ID)があり、他のコンテナから隔離されていることに注意することが重要です。コンテナが共有するものの1つは、カーネルです。
Dockerクライアント: これは、ユーザーがDockerデーモンと対話するために使用するコマンドラインツールです。
Dockerデーモン: DockerEngineとも呼ばれます。コンテナの生成と実行を担当するホストシステムで実行されるバックグラウンドプロセスを指します。
Dockerレジストリ: これは、Dockerコンテナイメージのストレージと配信の管理を担当するアプリです。プライベートでもパブリックでもかまいません。
Dockerイメージ: これは、コンテナのスクリーンショットにすぎない不変のファイルです。 Dockerイメージには、アプリの実行に必要なファイルシステムとアプリの依存関係が含まれています。
前提条件:
- sudo権限を持つユーザー
- 64ビットシステム
- 安定したネットワーク接続
- Debian11の最小限のインストール
Debian11へのDockerのインストール
ステップ1:Docker依存関係をインストールする方法
まず、「CTRL + ALT+T」を使用してターミナルを開きます 次のコマンドを実行して、システムが最新であることを確認します。
sudo apt-get update
次に、次のコマンドを使用して、必要なDocker依存関係をDebianシステムに追加します。
sudo apt -y install apt-transport-https ca-certificates curl gnupg2 software-properties-common
注: ソフトウェアを適切に実行するために、依存関係が正常にインストールされていることを確認してください。
ステップ2:Dockerの公式GPGキーを追加します:
Dockerパッケージをダウンロードしてインストールするためのリポジトリを設定する前に、Dockerの公式GPGキーをキーリングに追加する必要があります。このキーの主な目的は、ダウンロードしたDockerパッケージの有効性を確認することです。これを実現するには、次のコマンドを実行します。
curl -fsSL https://download.docker.com/linux/debian/gpg | gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
ステップ3:安定したリポジトリを追加する
このフェーズでは、次のコマンドを使用して安定したリポジトリを追加し、現在のバージョンのDockerパッケージをダウンロードする必要があります。そこで、リポジトリを設定します
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/debian $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list
ステップ4:パッケージキャッシュを更新する
リポジトリ情報を追加した後、以下に示すように、aptコマンドを使用して、新しく追加されたリポジトリからのすべてのパッケージ情報でパッケージキャッシュを更新する必要があります。
apt-get update
ステップ5:Dockerエンジンをインストールする
次に、次のコマンドを使用して、最新バージョンのDockerエンジンとコンテナーをダウンロードしてインストールします。
apt-get install docker-ce docker-ce-cli containerd.io
ステップ6:Dockerのバージョンを確認する
インストールが正常に完了すると、次のコマンドを実行できます。
docker –version
ステップ7:Dockerサービスを確認する
次のステップは、インストールが成功した後、Dockerのステータスを確認することです。これは、「systemctl」を使用して行います。 指図。このコマンドは、システム内のさまざまなサービスを制御するために使用されます。このコースでは、「systemctl」を実行します 「ステータス」を指定したコマンド DockerサービスがDebianシステムでアクティブか非アクティブかを確認するオプション:
sudo systemctl status docker
私たちの場合のように、Dockerがアクティブな場合は、上のスナップショットで強調表示されているように、アクティブな(実行中の)緑色の書き込みが表示されます。
Dockerサービスはセットアップ後に自動的に開始されますが、前に説明したsystemctlstatusdockerコマンドを使用していつでも確認できます。必須の場合は、 systemctl start dockerを使用してサービスを開始することもできます。 systemctl restart docker を使用して、コマンドを実行するか、サービスを再起動します コマンド:
ステップ8:Dockerをテストする
これまでに、Dockerをインストールし、Debianシステムでそのステータスを確認しました。さて、次は?あなたは尋ねるかもしれません。サンプルコンテナを実行して、Dockerの機能を調べます。基本的に、「hello-world」を実行しようとします グローバルDockerコンテナ。
HelloWorldImageを実行
これで、Dockerエンジンを使用して、hello-worldイメージから最初のコンテナーを作成できます。これは、以下に示すようにhello-worldコマンドを実行することで実現できます。
docker run hello-world
ステップ9:Dockerイメージを一覧表示する
次に、docker imagesコマンドを使用して、使用可能なすべてのイメージのリストを実行できます。 Docker画像の類似点に注意してください コマンドとdockerimage どちらも異なる目的を果たすため、コマンド。 Dockerイメージの管理が予想される場合は、dockerimage
docker images
ステップ10:Ubuntuコンテナを実行する
ここでは、 docker run -it ubuntu bashを利用できます。 Ubuntuコンテナを実行するコマンド。画像に特定のタグを付けないと、デフォルトでubuntu:最新の画像が検索されます。ローカルシステムでイメージが利用できない場合は、Ubuntuライブラリからイメージがダウンロードされ、そのイメージを使用してコンテナーが作成されます。これを実現するには、次を実行します:
docker run -it ubuntu bash
ステップ10:Dockerコンテナを一覧表示する
このソフトウェアに組み込まれているすべてのコンテナを一覧表示するには、次のコマンドを使用して、状態に関係なくすべてのコンテナを一覧表示します。
docker ps -a
ステップ11:Dockerコンテナを管理する
コンテナを初期化する場合は、次の構文を使用する必要があります。
docker start <container_id>
たとえば、以下のスナップショットに示すように、作成したubuntubashのID5aa62402b888でコンテナを開始できます。
docker start 5aa62402b888
次に、psコマンドを実行して、コンテナのステータスを確認します
docker ps
同様に、コンテナを停止する場合は、次の構文を使用できます。
docker stop <container_id>
基本的に、ID5aa62402b888のUbuntubashコンテナを停止します。ここでは、以下に示すように、
docker stop 5aa62402b888
次に、前に説明したようにpsコマンドを使用して、ステータスを確認します。
docker ps
ご覧のとおり、ID5aa62402b888のコンテナはもう実行されていません。
また、次の画像構文を使用して画像を削除できます。
rm <container_id>
この場合、以下に示すように、ID5aa62402b888のコンテナーを削除します。
docker rm 5aa62402b888
次に、docker imagesコマンドを使用して画像のリストを確認すると、ID5aa62402b888のコンテナーが使用できなくなっていることがわかります。
docker images
ステップ12:イメージをDockerHubリポジトリにプッシュする
Docker Hubリポジトリなどのリポジトリにイメージを保存する場合は、最初にユーザーアカウントの資格情報を使用してそのリポジトリにログインする必要があります。アカウントをお持ちでない場合は、こちらからサインアップできます。その後、次のコマンドを使用してログインします。
docker login
その後、ユーザー名とパスワードを入力し、Enterキーを押してログインします。ログインが成功すると、「ログインに成功しました」が表示されます。 下部にメッセージがあります。サインインに成功したので、次の構文を使用して画像をプッシュできます。
docker push <Image_name>
イメージをDockerHubリポジトリにプッシュする前に、イメージにタグを付ける必要がある場合があることに注意してください。
ステップ13:Dockerを削除する
システムからDockerエンジンを消去するには、次のコマンドを使用してDocker Engine、CLI、およびContainerdパッカーをアンインストールする必要があります。
apt-get remove docker-ce docker-ce-cli containerd.io
ホスト上のイメージ、コンテナー、ボリューム、またはカスタマイズされた構成ファイルは、自発的に削除されないことに注意してください。そのため、次のコマンドを使用して、すべてのイメージ、コンテナー、およびボリュームを手動で削除する必要があります。
sudo rm -rf /var/lib/docker
次を使用してコンテナを削除します:
sudo rm -rf /var/lib/containerd
Dockerのメリット
Dockerのようなオープンソースプロジェクトソフトウェアを使用することの重要な利点の1つは、タスクを完了するために使用するテクノロジーを自由に選択できることです。 Dockerは、テスト目的で小型、軽量、クリーンな環境を必要とし、大規模な管理と構成を避けたいプログラマーに適しています。
このソフトウェアは、コードをすばやくテスト、出荷、およびデプロイすることもできるため、コードを記述してから環境で実行するまでの遅延を減らすことができます。
最終的な考え
Dockerは、アプリをすばやく生成、テスト、開発するために使用されるフレームワークソフトウェアです。このソフトウェアは、システムツール、ランタイム、ライブラリ、コードなど、アプリケーションが機能するために必要なすべてのものを含む、アプリまたはパッケージをコンテナーに配置します。 Dockerを使用すると、あらゆる環境でアプリケーションを迅速にデプロイおよびスケーリングできます。
この記事では、Debian 11システムでDockerをセットアップする方法について、ソフトウェアのアンインストールの基本的なポイントから複雑なポイントまで詳しく説明しました。インストールに加えて、このソフトウェアを使用した日常の活動で遭遇する基本的なコマンドを備えています。それだけです、みんな。読んで楽しんでいただけたでしょうか。