前回「[基礎知識]Dockerコマンドリファレンス(レビュー)~イメージ用コマンド~」で、Docker日本語サイト本家「Docker-docs-ja」のDocker管理コマンドをレビューしました。
今回は、コンテナ用コマンドについて、試行してみます。
以下は、その際の作業記録です。
(以降のコマンド実行実例は、前回までに作成した環境におけるDocker Desktop環境です)
(※上記は、MySQLコンテナを実行した状態である、ということの確認画面になります)
1.コンテナ用コマンド
Dockerのコンテナ用コマンドは、Dockerコンテナの作成、管理、制御、監視に使用されるコマンドです。以下に各コマンドの具体的な解説と実例を示します。
(1)attach
docker attach
コマンドは、実行中のコンテナにアタッチして、そのコンテナの標準入力(stdin)、標準出力(stdout)、標準エラー出力(stderr)と対話するために使用されます。
>$ docker attach mycontainer
実施例:
① 現在実行中コンテナ状態の確認
② コンテナにアタッチ(attach)
③ 現在実行中コンテナの停止
④ (上記②でアタッチした)attach先の内容
(上記③のコンテナ停止により、MySQLが停止しています)
(2)cp
docker cp
コマンドは、ローカルとコンテナ間でファイルやディレクトリをコピーするために使用されます。
>$ docker cp mycontainer:/path/to/file.txt /local/path/file.txt
実施例は、別記事「[基礎知識]Dockerコンテナ内部のフォルダ構成」をご参照下さい
(3)create
docker create
コマンドは、イメージから新しいコンテナを作成するために使用されます。
>$ docker create myimage:tag
(4)diff
docker diff
コマンドは、実行中のコンテナで行われた変更(ファイルの追加、変更、削除)を表示します。
>$ docker diff mycontainer
(5)events
docker events
コマンドは、Dockerデーモンのイベントストリームを表示します。
(6)exec
docker exec
コマンドは、実行中のコンテナ内でコマンドを実行するために使用されます。
(7)kill
docker kill
コマンドは、指定したコンテナを強制的に停止します。
(8)logs
docker logs
コマンドは、指定したコンテナのログを表示します。
(9)pause
docker pause
コマンドは、指定したコンテナを一時停止します。
(10)port
docker port
コマンドは、指定したコンテナのポートマッピング情報を表示します。
試行例:
[補足]これは、Dockerコンテナ内のMySQLのポート3306が、ホストマシンのIPアドレス0.0.0.0とポート3306にマッピングされていることを示しています。
Dockerコンテナは、ホストマシンとの間でネットワークリソースを共有するために使用されます。ポートマッピングは、ホストマシンの特定のポートをDockerコンテナ内のポートに割り当てる仕組みです。これにより、ホストマシン上のアプリケーションやサービスが、Dockerコンテナ内のアプリケーションやサービスにアクセスできるようになります。
例えば、上記の結果では、Dockerコンテナ内のMySQLがポート3306を使用していることがわかります。このポートは、ホストマシンのIPアドレス0.0.0.0(すべてのネットワークインターフェース)のポート3306とマッピングされています。つまり、ホストマシン上のアプリケーションは、ホストマシンのIPアドレスとポート3306を使用して、Dockerコンテナ内のMySQLにアクセスできるようになります。
この情報は、Dockerコンテナのネットワーク設定やポートマッピングの確認、外部からアクセスする際の接続情報の把握などに役立ちます。
(11)ps
docker ps
コマンドは、実行中のコンテナの一覧を表示します。
(12)rename
docker rename
コマンドは、指定したコンテナの名前を変更します。
>$ docker rename mycontainer newcontainername
(13)restart
docker restart
コマンドは、指定したコンテナを再起動します。
>$ docker restart mycontainer
(14)rm
docker rm
コマンドは、指定したコンテナを削除します。
>$ docker rm mycontainer
(15)run
docker run
コマンドは、新しいコンテナを作成して実行します。
>$ docker run -it myimage:tag
(16)start
docker start
コマンドは、停止中のコンテナを開始します。
>$ docker start mycontainer
(17)stats
docker stats
コマンドは、実行中のコンテナのリソース使用状況を表示します。
>$ docker stats mycontainer
試行結果例:
(18)stop
docker stop
コマンドは、実行中のコンテナを停止します。
>$ docker stop mycontainer
(19)top
$ docker top mycontainer
試行結果例:
(20)unpause
docker unpause
コマンドは、一時停止中のコンテナを再開します。
(21)update
docker update
コマンドは、実行中のコンテナの設定を更新します。
>$ docker update –cpus 2 mycontainer
このコマンドは、Dockerホスト上で、コンテナの消費リソース制限などができます。
(22)wait
docker wait
コマンドは、指定したコンテナが終了するまで待機します。
このwaitについては、別記事「[基礎知識]docker waitコマンドについて」をご参照下さい。
以上が一部のDockerコンテナ用コマンドの具体的な解説と実例です。これらのコマンドを使用することで、Dockerコンテナの作成、管理、制御、監視を行うことができます。