Dockerコンテナ操作コマンドの詳細な理解:コンテナ管理の鍵をマスターする

Dockerコンテナ操作コマンドの詳細な理解:コンテナ管理の鍵をマスターする

Docker は、最新のアプリケーション開発と展開の業界標準となっています。コンテナ化テクノロジーを使用して、軽量で移植性が高く、スケーラブルな方法でアプリケーションを構築、公開、実行します。しかし、最近職場で、Docker コンテナの操作コマンドにあまり慣れていない人がいることに気づきました。したがって、この記事では、各コマンドとそのパラメータの詳細な説明を含め、Docker コンテナ操作のさまざまな側面を詳しく紹介することを目的としています。この記事を通じて、Docker の理解と応用をさらに向上させるために、一緒に議論し、学ぶことができれば幸いです。

コンテナを作成する

コンテナを作成するには、docker runとdocker createの2つの方法があります。

ドッカー実行

docker run コマンドは、まず Docker ホスト上で指定されたコンテナ イメージを検索します。イメージが存在しない場合は、Docker は Docker Hub または別のイメージ レジストリからイメージをダウンロードします。イメージが見つかるかダウンロードされると、Docker はそのイメージに基づいて新しいコンテナ インスタンスを作成します。コンテナが作成されると、docker run コマンドによってコンテナが起動されます。

docker run コマンドの基本的な構文は次のとおりです。

 docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
  • オプション: コンテナのさまざまなプロパティを構成するために使用されるオプションのパラメータ。
  • IMAGE: 実行するコンテナ イメージを指定する必須パラメーター。
  • COMMAND: コンテナーで定義されたデフォルトのコマンドをオーバーライドするオプションのパラメーター。
  • ARG...: コンテナ内のコマンドに渡されるオプションのパラメーター。

一般的な docker run パラメータとオプションを次に示します。

  • -i または --interactive: コンテナを対話モードで実行し、ユーザー入力を許可します。
  • -t または --tty: 疑似端末 (疑似 TTY) を割り当てます。通常は対話性をサポートするために -i と共に使用されます。
  • -d または --detach: コンテナをバックグラウンド モードで実行し、現在のターミナルを占有しません。
  • --name: コンテナの名前を指定します。
  • --rm: コンテナが停止したら自動的に削除します。
  • -e または --env: 環境変数を設定します。
  • -p または --publish: コンテナ ポートをホスト ポートにマップします。
  • -v または --volume: ホスト ファイルまたはディレクトリをコンテナーにマウントします。
  • --network: コンテナが接続されているネットワークを指定します。
  • --link: 別のコンテナにリンクします。
  • --entrypoint: コンテナで定義されているデフォルトのエントリポイントをオーバーライドします。
  • --restart: Docker コンテナの再起動戦略のオプション。

たとえば、xj_pandora という名前のコンテナを対話型ターミナル モードで実行するには、xj/pandora:1 を使用します。イメージの場合は、次のコマンドを実行します。

 docker run -itd -p 8899:8899 --name xj_pandora -e PUID=0 -e PGID=0 -e PANDORA_SERVER=0.0.0.0:8899 -e PANDORA_CLOUD=cloud -e TZ=Asia/Shanghai --restart=always xj/pandora:1.0
  1. docker create docker create コマンドは一般的に使用されるコマンドではなく、通常は他のコマンドと一緒に使用されます。 docker create の主な機能は、新しいコンテナを作成することであり、コンテナを起動することではありません。コンテナの一意の識別子 (コンテナ ID) を返します。この識別子を使用して、他のコマンドを使用してコンテナをさらに構成し、起動することができます。

以下は、docker create コマンドの基本的な構文とオプションです。

 docker create [OPTIONS] IMAGE [COMMAND] [ARG...]
  • オプション: コンテナのさまざまなプロパティを構成するために使用されるオプションのパラメータ。
  • IMAGE: 使用するコンテナイメージを指定する必須パラメーター。
  • COMMAND: コンテナーで定義されたデフォルトのコマンドをオーバーライドするオプションのパラメーター。
  • ARG...: コンテナ内のコマンドに渡されるオプションのパラメーター。

パラメータとオプションはdocker runに似ています

コンテナの起動、停止、削除

  • コンテナを起動する

作成されたコンテナは、docker start コマンドを使用して起動できます。

 docker start container_name/container_id

docker restartコマンドはコンテナを再起動します

docker restart container_name/container_id
  • コンテナを停止する

コンテナを停止するには、docker stop コマンドを使用します。

 docker stop container_name/container_id
  • コンテナの削除

停止したコンテナを 1 つ以上削除するには、docker rm コマンドを使用します。

 docker rm container_name/container_id

コンテナを表示

現在実行中のコンテナを表示するには、docker ps コマンドを使用します。

 docker ps

停止したコンテナも含め、すべてのコンテナを表示する場合は、docker ps -a コマンドを使用します。

 docker ps -a

写真

コンテナに入る

基本的な構文:

 docker exec [OPTIONS] CONTAINER COMMAND [ARG...]
  • オプション: コマンドの実行方法を構成するために使用されるオプションのパラメータ。
  • CONTAINER: コマンドを実行するコンテナ名またはコンテナ ID を指定する必須パラメータ。
  • COMMAND: コンテナ内で実行されるコマンド。
  • ARG...: 複数のパラメータを含めることができるコマンドパラメータ。

一般的な docker exec パラメータとオプションを次に示します。

  • -i または --interactive: コマンドを対話モードで実行します。通常は、対話機能を有効にするために -t と共に使用されます。
  • -t または --tty: 疑似端末 (疑似 TTY) を割り当てます。通常は -i と一緒に使用されます。
  • --user: コマンドを実行するユーザーまたはユーザー ID を指定します。
  • --env: 環境変数を設定します。
  • --workdir: コマンドを実行するための作業ディレクトリを指定します。
  • --privileged: より高い権限を持つ特権モードでコマンドを実行します。

実行中のコンテナに入り、コマンドを実行するには、docker exec コマンドを使用できます。たとえば、xj_pandora という名前のコンテナに入り、Bash ターミナルを起動するには、次のようにします。

 docker exec -it cdf3be3e078a /bin/bash

写真

ファイルのコピー

docker cp コマンドを使用して、ファイルをコンテナにコピーしたり、コンテナからホストにコピーしたりします。

コンテナ内のファイルをホストにコピーします。

 docker cp cdf3be3e078a:/opt/app/requirements.txt .

写真

ホストからコンテナにファイルをコピーします。

 docker cp ./test.txt cdf3be3e078a:/opt/app/

写真

コンテナのエクスポートとインポート

docker export コマンドを使用してコンテナをファイルとしてエクスポートし、docker import コマンドを使用してそのファイルを新しいイメージとしてインポートできます。これは、コンテナのスナップショットを共有したり、コンテナを移行したりする場合に役立ちます。

 docker export -o xj_container.tar xj_container_name docker import xj_container.tar xj_new_image

コンテナログを表示する

docker logs コマンドは、Docker コンテナのログ出力を表示するために使用されます。コンテナ内で実行されているアプリケーションの標準出力 (stdout) と標準エラー出力 (stderr) を表示できます。以下は、docker logs コマンドの基本的な構文と詳細な説明です。

 docker logs [OPTIONS] CONTAINER
  • オプション: ログ出力方法を構成するために使用されるオプションのパラメーター。
  • CONTAINER: ログを表示するコンテナ名またはコンテナ ID を指定する必須パラメータ。

一般的な docker ログのパラメータとオプションを次に示します。

  • -f または --follow: tail -f コマンドと同様に、コンテナ ログの出力をリアルタイムで追跡します。
  • --since: 指定された時間以降に生成されたログのみを表示します。
  • --until: 指定された時間より前に生成されたログのみを表示します。
  • --timestamps: ログエントリのタイムスタンプを表示します。
  • --tail: ログの最後の数行のみを表示します。デフォルトはすべてのログです。
  • --details: コンテナの標準エラー出力など、より詳細なログ情報を表示します。

たとえば、コンテナ pandora-pandora-1 のログをリアルタイムで出力するには、次のようにします。

 docker logs -f pandora-pandora-1

写真

要約する

Docker コンテナ操作コマンドは、コンテナ化されたアプリケーションを開発および管理するための重要なツールです。これらのコマンドの構文と目的をより深く理解することで、コンテナをより適切に管理および監視し、アプリケーションがスムーズに実行されるようにすることができます。コンテナの作成、ログの表示、リソース使用状況の監視、コンテナへの入力など、これらのコマンドはコンテナ化された管理を強力にサポートします。この記事が、Docker コンテナの操作に役立つ情報とガイダンスを提供できたことを願っています。

<<:  Rust はクラウドネイティブ開発の「未来」でしょうか?

>>:  Kubernetes ベースの Jenkins 動的および静的ノード

推薦する

ブランドマーケティング:デュレックスとKFCのマーケティングの失敗を分析!

マーケティングが得意なら、商品を売って楽しい時間を過ごせるでしょう。有名人の支持や国境を越えた協力に...

hostsolutions: 新しい管理バックエンド、2.9 ユーロ/KVM/1G メモリ/1T ハードディスク/10T トラフィック/ルーマニア

Hostsolutions は、バックエンド管理のまったく新しい開発を実施し、以前よりも使いやすくな...

spartanhost-ウェブサイトの再設計/シアトルでの無料 20Gddos 保護/ダラスの安価な大容量ハード ドライブ VPS

誰もが spartanhost をよく知っていると思います。結局のところ、少なくとも 1 年半はリリ...

raksmart: 日本の VPS、無制限のトラフィック、Windows システム、夕方のピーク時の PING が超低

raksmart が日本のデータセンターに VPS を新規導入しました。トラフィック制限がなく、主流...

新サイト引き継ぎ1ヶ月のまとめ

私が入社した新しい会社は、回族の手工芸品の起業プロジェクトに取り組んでいます。同社ではこれまでインタ...

2018年中国インターネット消費者エコシステムビッグデータレポート!

80年代以降の世代は中国のネット消費の屋台骨だが、90年代以降の世代の消費力も追い上げている。一人当...

議論: 記事の下部にリンクを追加できない理由

今日、パン・リクアンは奇妙な現象を発見しました。独立系ブログの記事は転載かオリジナルかに関わらず、記...

ROCKZi: 分類されたニュース集約サイトも別の検索

検索エンジンのBlekkoは最近、ウォーターフォール型のニュース閲覧ウェブサイトROCKZiを立ち上...

キーワードツールからの百度インデックスユーザーの注目

百度指数(以下、指数)を開発した当初の意図は、単に一般大衆を楽しませる商品として位置づけることだった...

onevps: 50% 割引、シンガポール/日本の 8 つのデータセンター、高トラフィック VPS、10T トラフィックから開始

8 つのコンピューター ルームのすべての VPS の購入に使用できる、50% 割引の新しい onev...

Vultrはどうですか?レビュー: VULTR オーストラリア シドニー データセンター クラウド サーバー

現在、Vultrはオセアニアのメルボルンとシドニーの2つのデータセンターでクラウドサーバーサービスを...

中小企業がネットワークマーケティングを行うための逆転の発想法

世界はますます小さくなり、情報の伝達速度はますます速くなっています。人々がコミュニケーションのために...

SEO担当者はウェブサイトを盲目的に最適化すべきではない

SEO の経験があるウェブサイト構築会社は、プロジェクトを引き受ける際に HTML ページの変更量を...

2021年のクラウドコンピューティング市場の競争環境の分析

クラウド コンピューティングがエンタープライズ IT の主流のテクノロジ トレンドとなった理由は、ユ...

アリババクラウドの賈陽青氏:データを真に「活用」するためのビッグデータ+AIエンジニアリング

5月20日、アリババ副社長兼アリババクラウドコンピューティングプラットフォーム責任者の賈陽清氏はメデ...