コンテナ管理のための 7 つの Docker コマンド

コンテナ管理のための 7 つの Docker コマンド

Docker入門

Docker は、コンテナ内でアプリケーションを構築、デプロイ、実行するためのオープンソース プラットフォームであり、開発者はアプリケーションに必要なものがすべて含まれる独立した軽量コンテナを作成できます。 Docker を使用すると、開発者はさまざまな環境にわたって一貫した方法でアプリケーションを実行できるため、開発と展開の効率と信頼性が向上します。

1 docker run コマンド

docker run コマンドは、Docker で新しいコンテナを起動するために使用されるコマンドです。これは、Docker イメージを使用してコンテナを作成および実行する主な方法です。

以下は、docker run コマンドを使用して新しいコンテナを起動し、コマンドラインからそのコンテナを操作する例です。

1) まず、ターミナルを開き、次のコマンドを入力して新しいコンテナを起動します。

 docker run -it --name mycontainer ubuntu

このコマンドは、ubuntu イメージに基づいて新しいコンテナを起動し、名前を付けます (mycontainer)。 -it オプションは、ターミナルをコンテナの標準入力と出力に接続し、コマンドラインから操作できるようにします。

2) コンテナが実行したら、コンテナ内でシェルプロンプトを入力します。通常のターミナルと同じようにコマンドを入力できます。たとえば、現在のディレクトリの内容を一覧表示するには、ls コマンドを入力します。

 ls

3) コンテナ内で新しいソフトウェアをインストールしたり、他のコマンドを実行したりすることもできます。たとえば、パッケージ インデックスを更新して curl パッケージをインストールできます。

 apt-get update apt-get install curl

4) コンテナでの作業が終了したら、「exit」と入力するか、CTRL-D を押してコンテナを終了できます。これにより、ターミナルがコンテナから切り離され、実行が停止されます。 docker start mycontainer と入力していつでもコンテナを再起動し、docker attach mycontainer でコンテナに接続できます。

2 docker 検査コマンド

docker inspect コマンドは、コンテナ、イメージ、ネットワーク、ボリュームなどの詳細情報を取得するために使用されます。指定されたオブジェクトに関するさまざまなプロパティと構成情報を含む結果を JSON 形式で返します。これは、jq などのツールや Python などのプログラミング言語を使用して解析および処理できます。

以下は、docker inspect コマンドを使用してコンテナまたはイメージの詳細情報を表示する例です。

1) まず、ターミナルを開き、次のコマンドを実行して、実行中のコンテナをすべて一覧表示します。

 docker ps

これにより、システム上で実行中のすべてのコンテナとその ID のリストが表示されます。

2) 検査するコンテナまたはイメージの ID を選択し、次のコマンドを実行します。

 docker inspect <container_or_image_id>

3) <container_or_image_id> を、検査するコンテナまたはイメージの実際の ID に置き換えます。たとえば、コンテナの ID が abcd1234 の場合、次のコマンドが実行されます。

 docker inspect abcd1234

4) docker inspect コマンドは、コンテナまたはイメージに関する詳細情報を含む JSON ドキュメントを出力します。この情報には、コンテナの構成、ネットワーク設定、リソースの使用状況、およびイメージのメタデータと履歴が含まれます。

5) docker inspect の出力を使用して、トラブルシューティングを行ったり、コンテナまたはイメージの構成を理解したり、コンテナまたはイメージのメタデータに基づいてタスクを自動化したりすることもできます。

3 docker portコマンド

docker port コマンドはコンテナのポート マッピングを表示するために使用され、コンテナの内部ポートとホスト上のマップされたポート間の対応を表示できます。

以下は、docker port コマンドを使用してコンテナのポート マッピングを一覧表示する例です。

1) まず、ターミナルを開き、次のコマンドを実行して、実行中のコンテナをすべて一覧表示します。

 docker ps

これにより、システム上で実行中のすべてのコンテナとその ID のリストが表示されます。

2) ポート マッピングを一覧表示するコンテナーの ID を選択し、次のコマンドを実行します。

 docker port <container_id>

3) <container_id> を、ポート マッピングを一覧表示するコンテナーの実際の ID に置き換えます。たとえば、コンテナの ID が abcd1234 の場合、次のコマンドが実行されます。

 docker port abcd1234

4) docker port コマンドは、コンテナのポート マッピングのリストを出力します。各マッピングは、コンテナの内部ポート番号とホスト システム上の対応するポート番号で構成されます。

5) この情報を使用して、コンテナ外部からコンテナ内で実行されているサービスにアクセスできます。たとえば、コンテナーがポート 80 で Web サーバーを実行しており、docker port コマンドでポート 80 がホスト システムのポート 8080 にマップされていることが示された場合、Web ブラウザーで http://localhost:8080 に移動して Web サーバーにアクセスできます。

4 docker statsコマンド

docker stats コマンドは、実行中のコンテナのリソース使用状況をリアルタイムで監視するために使用されます。システム モニターに似たインターフェイスを提供し、各コンテナーの CPU 使用率、メモリ使用量、ネットワーク トラフィックなどの情報を表示します。

以下は、docker stats コマンドを使用して、1 つ以上のコンテナのリソース使用状況統計を表示する例です。

1) まず、ターミナルを開き、次のコマンドを実行して、実行中のコンテナをすべて一覧表示します。

 docker ps

これにより、システム上で実行中のすべてのコンテナとその ID のリストが表示されます。

2) リソース使用統計を表示するコンテナまたはコンテナ ID を選択し、次のコマンドを実行します。

 docker stats <container_id>

3) <container_id> を、リソース使用統計を表示するコンテナの実際の ID に置き換えます。たとえば、コンテナの ID が abcd1234 の場合、次のコマンドが実行されます。

 docker stats abcd1234

4) 複数のコンテナ ID を指定して、すべてのコンテナのリソース使用状況統計を一度に表示することもできます。例えば:

 docker stats abcd1234 efgh5678

5) docker stats コマンドは、指定されたコンテナのリソース使用状況統計を継続的に出力します。統計には、CPU 使用率、メモリ使用率、ネットワーク I/O、ブロック I/O が含まれます。

6) この情報を使用して、コンテナのパフォーマンスとリソース使用状況を監視し、リソース使用率に関連する問題をトラブルシューティングできます。

5 docker topコマンド

docker top コマンドは、コンテナ内で実行されているプロセスのリストを表示するために使用されます。これは Unix の top コマンドに似ており、コンテナ内で実行中のプロセスとそれに関連する詳細情報を表示できます。

以下は、docker top コマンドを使用してコンテナ内で実行されているプロセスを表示する例です。

1) まず、ターミナルを開き、次のコマンドを実行して、実行中のコンテナをすべて一覧表示します。

 docker ps

これにより、システム上で実行中のすべてのコンテナとその ID のリストが表示されます。

2) プロセスを表示するコンテナの ID を選択し、次のコマンドを実行します。

 docker top <container_id>

3) <container_id> を、プロセスを表示するコンテナの実際の ID に置き換えます。たとえば、コンテナの ID が abcd1234 の場合、次のコマンドが実行されます。

 docker top abcd1234

4) docker top コマンドは、コンテナ内で実行されているプロセスのリストを出力し、CPU やメモリの使用量などのリソース使用率に関する情報も提供します。

5) この情報を使用して、コンテナ内のプロセスに関連する問題のトラブルシューティングを行ったり、コンテナの実行状況や最も多くのリソースを使用しているプロセスを把握したりできます。

6 docker saveコマンド

docker save コマンドは、イメージを圧縮されたアーカイブ ファイルとして保存するために使用される Docker のコマンドです。これにより、1 つ以上の Docker イメージを 1 つのファイルにパッケージ化し、他の Docker 環境にインポートできるようになります。

以下は、docker save コマンドを使用してイメージを tar アーカイブとして保存する例です。

1) まず、ターミナルを開き、次のコマンドを実行して、システムで利用可能なすべてのイメージを一覧表示します。

 docker images

これにより、リポジトリ、タグ、サイズなど、システムで使用可能なすべてのイメージのリストが表示されます。

2) tar アーカイブとして保存するイメージを選択し、次のコマンドを実行します。

 docker save -o <output_file_name>.tar <image_name>

3) <output_file_name> を tar アーカイブ ファイルに付ける名前に置き換え、<image_name> を保存したいイメージの名前に置き換えます。たとえば、myimage:latest という名前のイメージを myimage_latest.tar という名前の tar アーカイブとして保存する場合は、次のコマンドを実行します。

 docker save -o myimage_latest.tar myimage:latest

4) docker save コマンドは、指定されたイメージの tar アーカイブを現在のディレクトリに作成します。

5) この tar アーカイブは、イメージを他のシステムに移動したり、バックアップ目的で保存したりするために使用できます。

7 docker loadコマンド

docker load コマンドは、docker save コマンドからエクスポートされたイメージ アーカイブ ファイルをロードするために使用され、以前にエクスポートされた形式で保存されたイメージ アーカイブ ファイルをローカル Docker 環境にインポートできるようになります。

以下は、docker load コマンドを使用して tar アーカイブからイメージをロードする例です。

1) まず、ターミナルを開き、イメージの tar アーカイブを含むディレクトリに移動します。

2) 次のコマンドを実行して、tar アーカイブからイメージをロードします。

 docker load -i <archive_file_name>.tar

3) <archive_file_name> を、イメージを含む tar アーカイブ ファイルの名前に置き換えます。

4) たとえば、tar アーカイブ ファイルの名前が myimage_latest.tar の場合、次のコマンドが実行されます。

 docker load -i myimage_latest.tar

5) docker load コマンドは、tar アーカイブからイメージをインポートし、システムに新しいイメージを作成します。

6) 次のコマンドを実行して、イメージがインポートされたことを確認できます。

 docker images

これにより、新しくインポートされたイメージを含む、システム上で使用可能なすべてのイメージのリストが表示されます。

<<:  エッジコンピューティングはデータストレージをどのように変えるのでしょうか?

>>:  2023年のクラウドコンピューティングのトレンド

推薦する

キーワードを隠すSEOの秘密のトリック

多くの人は、特定のキーワードを検索すると他の人のサイトが非常に高い順位に表示されることに気付くことが...

インターネット + 教育: オンライン教育の 5 つの収益モデル

インターネットの最大の特徴は、そのほとんどが無料であることです。しかし、無料であることは、企業の持続...

クラウドエンジニアとクラウドアーキテクトが不可欠な理由

あなたはクラウド アーキテクトですか、クラウド エンジニアですか、それともどちらでもありませんか?こ...

SDNクラウドデータセンターにおける異常なネットワーク動作のインテリジェント処理の実践

概要:クラウド データ センターでの異常なネットワーク動作は、ネットワーク デバイスに重大なビジネス...

クラウド移行戦略を成功させる方法

しばらくデータセンターで運用してきた場合は、特定の目的のためにクラウド移行戦略に移行する可能性があり...

Pacificrack: 4 月の格安米国 VPS プロモーション、年間 20.59 ドル、KVM/3.5G メモリ/2 コア/40g SSD/4T トラフィック

Pacificrack は 4 月に安価な VPS プロモーションを実施しており、小規模な Web ...

2024年のクラウドコンピューティングの主な利点と課題

クラウド コンピューティングは、大量のデータをオンラインで保存し、いつでもどのデバイスでも使用できる...

BaiduとGoogleの最適化の違いの詳細な説明

多くの人が私に尋ねます。最適化の面で Google と Baidu の違いは何ですか? 私だけではな...

初心者向けウェブサイト向けロングテールキーワードマイニングの実践的なチュートリアル

ロングテールキーワードは通常 2 ~ 3 語で構成されますが、短いドメインになることもあります。 S...

ウェブサイトの重量を改善するために新しいサイトにフレンドリーリンクを構築する方法

ウェブマスターなら誰でも、新しいサイトの場合、ウェブサイトの重量を迅速に改善することが最優先事項であ...

ウェブマスターは障壁を巧みに越えて優れた仮想ホストを選択する

ウェブサイトの構築には多くの障壁があります。プログラムの選択、ウェブサイトのデザイン、ページレイアウ...

信頼性の高い IPXCORE - 256MB メモリ KVM/SSD キャッシュ/月額 3 ドル/ニューヨーク

ipxcore がついに KVM を正式にリリースしました。最初のデータセンターはニューヨーク州バッ...

キーワード密度とSEOランキングの関係

SEO 担当者はキーワードについてよく話します。コアワードであろうとロングテールワードであろうと、キ...

教育ウェブサイトの SEO 最適化、ロングテールキーワードの最適化に関する議論

SEO は古くからある長年の課題であり、医療業界におけるウェブサイトの最適化は常に最も競争が激しい分...

分散ストレージシステムのデータ分散方法に関する簡単な説明

分散ストレージ システムが直面する主な問題は、大量のデータを異なるストレージ ノードに分散する方法で...