『最初のDockerの本』ノート
4647 ワード
イニシャル
Docker情報の確認:docker info
ミラーリング
ミラーの表示
docker images
ミラー検索
docker search ubuntu
ミラーの取得
docker pull ubuntu
ミラーの構築
docker info
ミラーの表示
docker images
ミラー検索
docker search ubuntu
ミラーの取得
docker pull ubuntu
ミラーの構築
docker commit
ようき
コンテナの作成
インタラクティブコンテナ
インタラクティブコンテナの起動:docker run -i -t ubuntu /bin/bash
docker run -i -t ubuntu /bin/bash
-t -i
フラグは、起動されたコンテナがインタラクティブであることを保証する:-i
フラグは、コンテナ内のstdINがオンであることを保証する;-t
は、作成されたコンテナが偽tty端末を割り当てることを示す.ubuntu
は、これに基づいて作成する/bin/bash
コンテナが起動するとどのようなコマンドが実行されるかを示すデーモンコンテナ
デーモン・コンテナは、バックグラウンド・プロセスやサービスと同様に、フロント・セッション・プロセスがキーボード入力コマンドを待機してインタラクティブ・セッションを行う必要はありません.
docker run --name you_container_name -d ubuntu ....
-d
を使用して、容器がガーディアン(バックグラウンドで動作する)容器であることを示す.コンテナの名前
docker run --name your_container_name -it ubuntu /bin/bash
コンテナに名前を付けます(名前は
your_container_name
).その後、コンテナの代わりにコンテナ名を使用できます.したがって、コンテナ名は一意でなければなりません.コンテナ名が指定されていない場合は、ランダムにコンテナ名が割り当てられます.ローカルディレクトリをコンテナにマウント
docker run -it -v /host/dir:/container/dir ubuntu64 /bin/bash
-v
パラメータを通過し、コロンの前はホストディレクトリであり、絶対パスでなければならない.コロンの後は、ミラー内にマウントされているパスです.:ro
のラベル、すなわち-v /host/dir:/container/dir:ro
コンテナの表示
docker ps -a
ここで、
-a
オプションは、停止および実行中を含むすべてのコンテナを表示することを示す.これがない場合は、実行中のコンテナのみが表示されます.docker ps -l
最後に実行したコンテナをリストします.
docker ps -n 5
実行中でも停止中でも、最後に使用した5つのコンテナをリストします.ここで
5
は別の数字に指定できます.docker insepct your_container_name
コンテナの詳細を取得し、構成情報、名称、コマンド、ネットワーク構成などを含め、JSON形式で表示します.
スターティングコンテナ
停止済みコンテナの起動
docker start your_container_name
コンテナ名またはコンテナIDを使用して、そのコンテナを指すことができます.コンテナIDは、そのコンテナを特定するのに十分なデジタルビット数を入力すればよい.以下も使用できます.
docker restart your_container_name
注意!
docker start
コマンドを使用すると、コンテナが起動しただけで、docker run
コマンドで指定したパラメータに従って実行されます.パラメータがコンテナ起動時にインタラクティブなshellインタフェースを指定した場合、docker start
はshellインタフェースに切り替えることができず、docker attach
コマンドを使用して切り替える必要があります.容器付着
Dockerコンテナが再起動されると、
docker run
コマンドで指定されたパラメータに従って実行されます.したがって、コンテナが再起動された後にインタラクティブセッションshellが実行される場合は、docker attach
コマンドを使用して、コンテナのセッションに再アタッチします.docker attach your_container_name
コンテナの自動再起動
エラーによりコンテナが停止し、作成するコンテナを指定した方法で自動的に再起動できます.
docker run --restart=always --name your_container_name -d ubuntu ...
--restart=always
)にかかわらず、Dockerが自動的にコンテナを再起動することを示すオプション0
です.--restart=on-failure
に設定することもでき、これにより、コンテナの終了コードが0以外の値である場合にのみ自動的に再起動される.--restart=on-failure:5
は、コンテナ終了コードが0以外の場合、Dockerが自動的に再起動を試み、最大5回再起動することを示しています.コンテナ内プロセスの操作
実行中のコンテナ内のプロセスの表示
docker top yout_container_name
コンテナ内で新しいプロセスを開始
Dockerコマンドラインインタフェースでコンテナに直接コマンドして新しいプロセスを開始できます.
docker exec -d your_container_name touch /etc/new_config_file
これは、実行中のコンテナ実行コマンド
your_container_name
(すなわち、プロセス実行コマンドの起動)が使命であることを示す.touch /etc/new_config_file
は、このプロセスがバックグラウンドプロセスであることを示す.docker exec -t -i your_container_name /bin/bash
-d
コンテナの内部でプロセスyour_container_name
/bin/bash
(または-i -t
)が開始されたことを示すプロセスは、インタラクション可能なプロセスであることを示す.容器の停止
docker stop your_container_name
docker kill your_container_name
-it
は、docker stop
信号をDockerコンテナプロセスに送信する.あるコンテナを迅速に停止したい場合は、SIGTERM
コマンドを使用して、docker kill
信号をコンテナプロセスに送信することもできます.コンテナの削除
docker rm your_container_name
注意!実行中のコンテナは削除できません.
次のコマンドを使用して、すべてのコンテナを一度に削除できます.
docker rm `docker ps -a -q`
SIGKILL
フラグは、すべての(all)コンテナをリストすることを表し、-a
フラグは、コンテナの他の情報を返さずに、コンテナのIDを返すだけであることを示す.