Open2

dockerコマンドあれこれ

oosukeoosuke

docker-composeばかり触っていると一発で起動や終了ができるのでdocker単体のコマンドをたまにあれ??となるためメモ書き

http://docs.docker.jp/v19.03/engine/reference/commandline/index.html

イメージの作成

$ docker build -t [イメージ名] [Dockerfileのあるディレクトリ]

イメージ一覧

$ docker images

コンテナの作成

$ docker create --name [コンテナ名] [イメージ名 or イメージid]

コンテナの作成起動

$ docker run -it -d -p 8080:80 --name [コンテナ名] [イメージ名 or イメージid]

-it ホストとコンテナのstdoutを繋ぐ
-d バックグラウンド実行
-p ポートフォワード[ホストポート番号:コンテナポート番号]
--name コンテナ名
--rm コンテナ終了後自動で削除
-v マウント [ホスト側のソース:コンテナ側の送信先]

コンテナへ接続

$ docker exec -it [コンテナ名 or コンテナid] /bin/bash

コンテナ一覧

$ docker ps [-aオプションで停止中のコンテナも表示]

イメージの削除

$ docker rmi [イメージ名 or イメージid]

コンテナの削除

$ docker rm [コンテナ名 or コンテナid]

コンテナの起動

$ docker start [コンテナ名 or コンテナid]

コンテナの停止

$ docker stop [コンテナ名 or コンテナid]
oosukeoosuke

コンテナのログ

$ docker logs [コンテナ名 or コンテナid]

exitedしたコンテナにアタッチする

$ docker commit [コンテナ名 or コンテナid] [適当な名称]
$ docker exec -it [適用な名称] sh