Docker 基本コマンド 一覧表
役割 | コマンド | 例 |
---|---|---|
イメージの確認 | docker images |
docker images |
コンテナの稼働状況 | docker ps |
docker ps |
イメージの取得 | docker pull <REPOSITORY> |
docker pull ubuntu |
イメージからコンテナを作成 | docker run -it <REPOSITORY> |
docker run -it ubuntu |
コンテナの起動 | docker start <CONTAINER ID or NAME> |
docker start ubuntu |
コンテナにログイン | docker attach <CONTAINER ID or NAME> |
docker attach ubuntu |
(コンテナ側で)コンテナの停止 | exit |
exit |
(ホスト側で)コンテナの停止 | docker stop <CONTAINER ID or NAME> |
docker stop ubuntu |
コンテナの削除 | docker rm <CONTAINER ID> |
docker rm aaa111 |
イメージの削除 | docker rmi <REPOSITORY> |
docker rmi repo |
実用編
イメージのインストール=>コンテナの初期作成=>開始
PWD := {gitで管理している作業ディレクトリ}
とします。
イメージのインストール
docker pull <IMAGE>
コンテナの初期作成
docker create \
--name <NAMES> \
-it \
-v $(pwd):/root/app \
<IMAGE>
-
-v $(pwd):/root/app
は、ホスト側のカレントディレクトリをコンテナ内の/root/app
にマウント- コンテナ内の
/root/app
ディレクトリとホスト側のファイルが同期される
=> gitで管理しているホスト側のプロジェクトをコンテナ側の/root/app
で実行可能!
- コンテナ内の
コンテナの実行
docker start <NAMES>
実はrunを使うと楽
docker run
= create + start + attach
の手順を一気に行うコマンド
これを使うと以下のように書ける
docker run \
-it \
--name <NAMES> \
-v $(pwd):/root/app \
<IMAGE>
単発コマンド実行のためだけの使い捨てコンテナを作成・破壊する用
CIでテストを回すときに、一時的なコンテナを起動して使い捨てるパターンを想定しています。
docker run --rm -it \
-v $(pwd):/root/app \
<IMAGE> \
/bin/zsh -c "cd /root/app/ && {実行したいコマンド}"
-
docker run
でイメージからコンテナを作成し起動 -
-rm
でコンテナの実行後、削除 -
-it
インタラクティブモードでターミナルを割り当て(後のコマンド実行用) -
-v $(pwd):/root/app
でホスト側のカレントディレクトリをコンテナ内の/root/app
にマウント -
/bin/zsh -c "cd /root/app/ && {実行したいコマンド}"
-
/bin/zsh -c
でシェルで複数コマンドを実行
-