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 動的および静的ノード

推薦する

VM、コンテナ、サーバーレスの違いを理解する

従来、アプリケーションは、コードを実行するサーバーやオペレーティング システムと密接にリンクされてい...

SEO氾濫の時代にウェブマスターはどのように前進し、後退すべきか

数年前、SEOはまだ新しい言葉でした。当時、私は大学に入学したばかりでした。ウェブサイト運営者の友人...

Sina Weiboがマーケティングのための「マイクロタスク」プラットフォームを立ち上げ。大手アカウントの終焉か?

admin5.comの10月19日の記事によると、新浪微博の公式タスク送信プラットフォーム「Micr...

高級品の電子商取引では、認可なしが暗黙のルールとなっている。消費者は本物と偽物を区別するのが難しい。

中国新聞社、4月25日(ITチャンネルパンダ) 「偽造品の販売」や製品認可の欠如などの高級品電子商取...

エッジ コンピューティング アーキテクチャとデータ センター アーキテクチャの違いは何ですか?

[[412483]]エッジ コンピューティングは、分散コンピューティング、グリッド コンピューティン...

sharktech-4gメモリ/1.5Tハードディスク/100M無制限/スーパーポータブルD 50G/69ドル

ご存知のとおり、Sharktech は米国で最も強力なプロ用 D キャリアとして知られています。どれ...

#618# Gouyun、クラウドサーバーの30%割引、残高\50%割引コードを獲得できる抽選など、香港\日本\韓国\米国の10以上のデータセンターが利用可能

GouCloudは、年半ばの618特別割引プロモーションを開始しました。すべてのエラスティッククラウ...

素晴らしい SEO 事例: 偽のウェブサイトのリンク構築

以前、新しいサイトに外部リンクを引き付ける方法についての投稿で、商業ウェブサイトはリンクを引き付けに...

機密情報の綱引き: Ganji.com と 58.com の変革は同じ結果につながる

Ganji.comと58.comはともに変革を模索新浪テクノロジー 神雲芳2005年に設立された2つ...

テンセントの「デジタル変革指数レポート2021」が発表:全国351都市の18業界のデジタルとリアルの融合プロセスを詳細に分析

11月3日、テンセント研究所とテンセントクラウドは、2021年テンセントデジタルエコシステムカンファ...

SEOは異常なことはできません。合理性が正しい方法です。

中国の古いことわざに「瓜畑を通るときは靴を拾わず、梅の木を通るときは帽子を直さず」というものがありま...

排除できないドメイン名の汎解決

ここ数ヶ月、ドメイン名の乱暴な解決に悩まされ、それを取り除く方法がありません。私が持っているドメイン...

Baidu の新しい入札アイコンについてどう思いますか?

読者の皆さん、この動きについてどう思いますか?Weiboを閲覧していたときにこれを見ました。Baid...

Baidu の支持を簡単に得るために、セカンドレベルドメイン名を立ち上げるときに 3 つのポイントを覚えておいてください

立ち上げたばかりの新しいウェブサイトの場合、Baidu の支持を得ることはあまり現実的ではありません...

企業が公式ウェブサイトを構築する必要があるのはなぜですか?メリットは何ですか?

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