2017.9.11

Dockerでよく利用するコマンドまとめ

Docker for Windowsで仮想環境構築時によく利用したコマンドをまとめておきます。

環境構築が途中なこともあるので、随時更新していく予定です。

目次

  • イメージの入手
  • 入手したイメージの一覧
  • 入手したイメージの削除
  • コンテナの起動
  • コンテナへの接続
  • コンテナの開始
  • コンテナの停止
  • コンテナの削除
  • 稼働中のコンテナの一覧表示
  • すべてのコンテナの一覧表示
  • コンテナの情報を表示

イメージの入手

docker hubで提供されているイメージをローカルに落とします。

docker pull nginx:latest

入手したイメージの一覧

docker images

入手したイメージの削除

docker rmi

上記コマンドでイメージを削除した後、再度同じイメージを落とそうとしたら以下のエラーが出てできませんでした。

Error response from daemon: Get https://registry-1.docker.io/v2/: dial tcp: lookup registry-1.docker.io on [::1]:53: rea d udp [::1]:42603->[::1]:53: read: connection refused

原因がよくわからず、とりあえずDocker for Windowsを再インストールして対応しましたが、もしかたら使わない方がいいのかも...

コンテナの起動

docker run -it -d --name nginxtest nginx:latest

上記コマンドの内容は以下の通り。

  • -i:コンテナ起動時に標準入力(STDIN)を受け付ける
  • -t:仮想端末をコンテナに割り当てる...らしいが、どういった時に指定するのかよくわからない。(こちらの記事に指定した時としない時の動作の違いが載っているので参照)
  • -d:バックグラウンドでの動作(指定しない場合はフォアグラウンドで動作)
  • --name:コンテナ名を指定
  • nginx:latest:コンテナを構成するイメージとタグを指定

コンテナへの接続

起動したコンテナの操作は「exec」コマンドで「/bin/bash」に接続することで可能です。

docker exec -it nginxtest /bin/bash

似たようなコマンドで「docker attach」というのがあるのだが、どういった時に利用できるのかよく分からなかったので、基本的には「exec」を利用でいいと思う。(詳しくはDockerコンテナ内で操作 attachとexecの違い - Qiitaを参照。)

コンテナの開始

docker start nginxtest

コンテナの停止

docker stop nginxtest

コンテナの削除

docker rm nginxtest

バックグランドで実行中の場合は以下のエラーメッセージが出て削除できないので、一度停止してから再度コマンドを実行します。

Error response from daemon: You cannot remove a running container babeec5b34c0827eae6204690ac0b73164db2f1933d7e36cd55ae74f2a554319. Stop the container before attempting removal or force remove

稼働中のコンテナの一覧表示

docker ps

すべてのコンテナの一覧表示

docker ps -a

コンテナの情報を表示

docker inspect nginxtest

その他】関連記事