コンテナ管理のための 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年のクラウドコンピューティングのトレンド

推薦する

初心者オペレーター向けの広告掲載方法

操作とは何ですか?この種の質問は、さまざまなフォーラム、BBS、Baidu Knows、Q&...

シンガポールで oneasiahost VPS を購入しました。非常にお勧めです (古い投稿)

この投稿は私が昨年個人ブログに書いたものですが、退屈しのぎにここに再投稿しました。 1時間以上前に、...

中小企業向けインターネットマーケティングソリューション

電子商取引の発展に伴い、中国のビジネス分野は徐々に「有形」から「無形」へと移行しています。インターネ...

IoT アーキテクチャはクラウド上で実行できますか?

スマートサーモスタットからフィットネストラッカーまで、IoT デバイスは私たちの日常生活に当たり前の...

春節が近づいています: チャンスをつかむためにウェブサイトの最適化で「雨の日の準備」をする方法

春節が近づいてきました。ウェブマスターの皆さんは、ウェブサイトをどのように最適化しますか? 伝統的に...

ASPなどの動的言語サイトでSEOを行う際に注意すべき点

WEB 動的言語には、ASP、PHP、.NET、JSP など、さまざまなものがあります。タイトルで ...

Kubernetesの未来はサーバーレス

コンテナ革命の始まりから、2 つのことが明らかになりました。まず、テクノロジー スタックのレイヤーの...

ビッグデータの孤立を打破: 主流の SaaS ベンダーが共同でオープン スタンダードを構築

10月27日、2017 iResearch A10 ビッグデータサミットにおいて「Intellige...

hmbcloud (Half Moon Bay) 上海-日本 IPLC NAT VPS の簡単なレビュー

数十のハイエンド IPLC 回線と、従来の US cn2 gia などの VPS を主に提供する h...

電子商取引ウェブサイトを宣伝し最適化する方法について簡単に説明します

電子商取引の発展は急速で、さまざまなウェブサイトの設立も業界全体の進歩を加速させています。時間の経過...

Tencent Weibo + ホリデーグリーティングを使用してウェブサイトのトラフィックを迅速に増やす方法

正月が過ぎ、春節が近づいています。お祭り気分と平和な雰囲気の中で、私たちはすべての友人に心からの祝福...

5Gはインダストリー4.0製造技術におけるエッジコンピューティングの大量導入を促進する

ほとんどの人は、製造業は高度に自動化された産業であると考えていますが、それは正しいです。ロボットは、...

Baidu Spark Projectはオリジナル記事の掲載問題を解決できるか?

インターネット情報環境の健全な発展を促進するため、検索エンジンは日々アルゴリズムを更新し、質の高いオ...

Kafka の代替となる KubeMQ

[[429604]] [51CTO.com クイック翻訳]昨今、インタラクティブなコンポーネントの増...

ウェブデザイナー必読:インターネット企業のウェブサイト制作プロセス

多くのウェブデザインの専門家は、以前にインターネット企業で働いた経験があり、インターネット企業の給料...