コンテナのライフサイクル管理コマンド

目次

実行する

文法

作成

文法

一時停止/一時停止解除

文法

rm

文法

殺す

文法

開始/停止/再起動

文法

走る

文法


実行する

docker exec :実行中のコンテナでコマンドを実行します。

文法

docker exec [OPTIONS] CONTAINER COMMAND [ARG...]

オプションの説明:

  • -d :分離モード: バックグラウンドで実行
  • -i :アタッチされていない場合でも STDIN を開いたままにします
  • -t :擬似端末を割り当てます

コンテナー mynginx の対話モードで、コンテナー内の /root/runoob.sh スクリプトを実行します。

runoob@runoob:~$ docker exec -it mynginx /bin/sh /root/runoob.sh
http://www.runoob.com/

mynginx コンテナーで対話モードでターミナルを開きます。

runoob@runoob:~$ docker exec -i -t  mynginx /bin/bash
root@b1a0703e41e7:/#

また、 docker ps -a コマンドを使用して実行中のコンテナーを表示し、コンテナー ID を使用してコンテナーに入ることができます。

すでに実行されているコンテナ ID を表示します。

# docker ps -a 
...
9df70f9a0714        openjdk             "/usercode/script.sh…" 
...

最初の列の 9df70f9a0714 はコンテナー ID です。

exec コマンドを使用して、指定されたコンテナーで bash を実行します。

# docker exec -it 9df70f9a0714 /bin/bash

作成

docker create :コンテナを起動せずに新しいコンテナを作成します

使い方はdocker runと同じです 

文法

docker create [OPTIONS] IMAGE [COMMAND] [ARG...]

オプションの説明:

  • -a stdin: 標準入出力コンテンツ タイプ、オプションの STDIN/STDOUT/STDERR の 3 つの項目を指定します。
  • -d: バックグラウンドでコンテナを実行し、コンテナ ID を返します。
  • -i: コンテナーを対話モードで実行します。通常は -t と一緒に使用します。
  • -P: ランダム ポート マッピング。コンテナの内部ポートがホストのポートにランダムにマッピングされます。
  • -p: ポートマッピングをホスト(ホスト)ポート:コンテナポートの形式で指定します。
  • -t: コンテナの擬似入力ターミナルを再割り当てします。通常は -i と一緒に使用されます。
  • --name="nginx-lb": コンテナーの名前を指定します。
  • --dns 8.8.8.8: コンテナーが使用する DNS サーバーを指定します。これはデフォルトではホストと同じです。
  • --dns-search example.com: コンテナーの DNS 検索ドメイン名を指定します。これはデフォルトではホストと同じです。
  • -h "mars": コンテナーのホスト名を指定します。
  • -e username="ritchie": 環境変数を設定します。
  • --env-file=[]: 指定されたファイルから環境変数を読み取ります。
  • --cpuset="0-2" または --cpuset="0,1,2": コンテナを指定された CPU にバインドして実行します。
  • -m :コンテナーが使用するメモリの最大量を設定します。
  • --net="bridge": コンテナのネットワーク接続タイプを指定します。ブリッジ/ホスト/なし/コンテナ: 4 つのタイプをサポートします。
  • --link=[]: 別のコンテナへのリンクを追加します。
  • --expose=[]: ポートまたはポートのグループを開きます。
  • --volume 、 -v: ボリュームをバインドします

Docker イメージ nginx:latest を使用してコンテナーを作成し、コンテナーに myrunoob という名前を付けます。

runoob@runoob:~$ docker create  --name myrunoob  nginx:latest      
09b93464c2f75b7b69f83d56a9cfc23ceb50a48a9db7652ee4c27e3e2cb1961f

一時停止/一時停止解除

  • docker stop  : コンテナ内のすべてのプロセスを一時停止します。
  • docker unpause  : コンテナ内のすべてのプロセスを再開します。

文法

docker pause CONTAINER [CONTAINER...]

docker unpause CONTAINER [CONTAINER...]

データベースコンテナdb01のサービスを一時停止します。

docker pause db01

リカバリ データベース コンテナ db01 がサービスされます。

docker unpause db01

rm

docker rm : 1 つ以上のコンテナを削除します。

文法

docker rm [OPTIONS] CONTAINER [CONTAINER...]

オプションの説明:

  • -f : SIGKILL シグナルを介して実行中のコンテナを強制的に強制終了します。
  • -l :コンテナ自体ではなく、コンテナ間のネットワーク接続を削除します。
  • -v :コンテナーに関連付けられたボリュームを削除します。

コンテナ db01、db02 を強制的に削除します。

docker rm -f db01 db02

コンテナー nginx01 からコンテナー db01 への接続を削除します。接続名は db です。

docker rm -l db 

コンテナー nginx01 を削除し、コンテナーにマウントされているデータ ボリュームを削除します。

docker rm -v nginx01

停止したコンテナをすべて削除します。

docker rm $(docker ps -a -q)

殺す

docker kill  : 実行中のコンテナを強制終了します。

文法

docker kill [OPTIONS] CONTAINER [CONTAINER...]

オプションの説明:

  • -s :コンテナにシグナルを送信します

実行中のコンテナ mynginx を強制終了します。

runoob@runoob:~$ docker kill -s KILL mynginx
mynginx

開始/停止/再起動

  • docker start  : 停止している 1 つ以上のコンテナを起動します
  • docker stop  : 実行中のコンテナを停止します
  • docker restart  : コンテナを再起動します

文法

docker start [OPTIONS] CONTAINER [CONTAINER...]

docker stop [OPTIONS] CONTAINER [CONTAINER...]

docker restart [OPTIONS] CONTAINER [CONTAINER...]

停止したコンテナmyrunoobを起動する

docker start myrunoob

実行中のコンテナmyrunoobを停止します

docker stop myrunoob

コンテナmyrunoobを再起動します

docker restart myrunoob

走る

docker run :新しいコンテナを作成してコマンドを実行します

文法

docker run [OPTIONS] IMAGE [COMMAND] [ARG...]

オプションの説明:

  • -a stdin: 標準入出力コンテンツ タイプ、オプションの STDIN/STDOUT/STDERR の 3 つの項目を指定します。
  • -d: バックグラウンドでコンテナを実行し、コンテナ ID を返します。
  • -i: コンテナーを対話モードで実行します。通常は -t と一緒に使用します。
  • -P: ランダム ポート マッピング。コンテナの内部ポートがホストのポートにランダムにマッピングされます。
  • -p: ポートマッピングをホスト(ホスト)ポート:コンテナポートの形式で指定します。
  • -t: コンテナの擬似入力ターミナルを再割り当てします。通常は -i と一緒に使用されます。
  • --name="nginx-lb": コンテナーの名前を指定します。
  • --dns 8.8.8.8: コンテナーが使用する DNS サーバーを指定します。これはデフォルトではホストと同じです。
  • --dns-search example.com: コンテナーの DNS 検索ドメイン名を指定します。これはデフォルトではホストと同じです。
  • -h "mars": コンテナーのホスト名を指定します。
  • -e username="ritchie": 環境変数を設定します。
  • --env-file=[]: 指定されたファイルから環境変数を読み取ります。
  • --cpuset="0-2" または --cpuset="0,1,2": コンテナを指定された CPU にバインドして実行します。
  • -m :コンテナーが使用するメモリの最大量を設定します。
  • --net="bridge": コンテナのネットワーク接続タイプを指定します。ブリッジ/ホスト/なし/コンテナ: 4 つのタイプをサポートします。
  • --link=[]: 別のコンテナへのリンクを追加します。
  • --expose=[]: ポートまたはポートのグループを開きます。
  • --volume 、 -v: ボリュームをバインドします

docker イメージ nginx:latest を使用してコンテナーをバックグラウンド モードで起動し、コンテナーに mynginx という名前を付けます。

docker run --name mynginx -d nginx:latest

イメージ nginx:latest を使用してコンテナをバックグラウンド モードで起動し、コンテナのポート 80 をホスト上のランダムなポートにマップします。

docker run -P -d nginx:latest

ミラー nginx:latest を使用してコンテナをバックグラウンド モードで起動し、コンテナのポート 80 をホストのポート 80 にマップし、ホストのディレクトリ /data をコンテナの /data にマップします。

docker run -p 80:80 -v /data:/data -d nginx:latest

コンテナのポート 8080 をバインドし、ローカル ホスト 127.0.0.1 のポート 80 にマッピングします。

$ docker run -p 127.0.0.1:80:8080/tcp ubuntu bash

イメージ nginx:latest を使用して対話モードでコンテナーを起動し、コンテナー内で /bin/bash コマンドを実行します。/bin/bash : イメージ名がコマンドの後に、ここでは対話型シェルが必要なので、/bin/bash が使用されます。

runoob@runoob:~$ docker run -it nginx:latest /bin/bash
root@b8573233d675:/# 

ターミナルを終了するには、  exit を直接入力します。

root@ed09e4490c57:/# exit

おすすめ

転載: blog.csdn.net/yeyaozhifengqi/article/details/130409203