🎉
Dockerコマンドまとめ
コンテナ操作
コンテナ起動
docker run [options] IMAGE
# 例: Apacheのコンテナを起動(8080番ポートでアクセス。)
docker run -p 8080:80 httpd:2.4.41
イメージからコンテナを作成して起動する。
イメージはなければ自動的にpullされる。
コンテナ停止
docker stop <container>
# 例: 複数コンテナの削除も可能
docker stop a11 b22 c3f
コンテナ一覧
docker ps
コンテナ一覧(停止しているコンテナも含む)
docker ps -a
コンテナを指定して削除
docker rm <container>
コンテナIDは全て入力する必要がないことがほとんど。
コンテナを一意に特定できれば部分一致で数文字の指定でOK。
コンテナを全て削除
docker rm $(docker ps -q)
コンテナに入る
docker exec -it <container> bash
# 例: コンテナIDの部分文字列を指定
docker exec -it 8cc bash
# 例: コンテナ名を指定
docker exec -it sample_web bash
# 例: フルパス指定も可能
docker exec -it 8cc /bin/bash
全て削除のコマンド自体は存在しない。
コマンド置換でコンテナIDの一覧を出力して削除する。
イメージ操作
イメージ一覧
docker images
イメージ削除
docker rmi <image>
# 例: イメージIDを指定して削除
docker rmi 789
Docker Compose
コンテナを複数に分けると使い回しやメンテナンスがしやすくなる反面、操作手順も増えてしまう。
Docker Composeを使うと複数のコンテナを連携して一度に操作できる。
サービス起動
docker compose up -d
docker-compose.ymlのあるディレクトリに移動して上記を実行。
「-d」を付けないと、フォアグラウンドで起動する。
サービス停止
docker compose down
サービス再起動
docker compose restart
その他コマンド
詳細確認
docker inspect <container|image>
コンテナやイメージの情報を確認できる。
JSONで詳細が出力される。
使用していないDockerオブジェクトの削除
docker system prune
使用していないイメージ、コンテナなど、ボリュームを除く※全てのDockerオブジェクトを削除してクリーンアップする。
※Docker 17.06.1 以上
使用していないDockerオブジェクトの削除(ボリュームも含む)
docker system prune --volumes
Docker 17.06.1 以上でボリュームも削除したい場合は、 --volumes フラグを使う。
Discussion