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でシェルで複数コマンドを実行
-