自分向けDockerコマンドのメモ
Dockerは便利だけど、ぼくにとっては普段そんなに使うツールではなくて、よくコマンドを忘れてしまう。 覚えられるように、すぐ見返せるように、メモしておく。
Dockerイメージに関するコマンド
一覧
$ docker images
ビルド
直下にあるDockerFileからビルド。
$ docker build ./ -t example
削除
イメージIDを指定して削除。複数のイメージIDを指定できる。
$ docker rmi IMAGE-ID IMAGE-ID IMAGE-ID
すべてのイメージを削除
$ docker rmi -f $(docker images -q)
Dockerコンテナに関するコマンド
一覧
$ docker ps -a
ビルド
イメージからコンテナをビルド。
-t
は、Dockerコンテナ内の標準出力とホスト側の出力をつなげるオプション。-i
は逆にホスト側の入力とコンテナの標準入力をつなげるオプション。
$ docker run -it IMAGE-ID /bin/bash
-p
は外部からアクセスされるポート番号:コンテナ側のポート番号
を指定し、ポートフォワーディングするオプション。
-d
はデーモンとしてバックグラウンドで実行するオプション。
$ docker run -d -p 3000:80 IMAGE-ID
コンテナの中に入る
起動済みのコンテナの中に入る。ビルドする際との違いはrunがexecになって、イメージIDがコンテナIDになっている点。
$ docker exec -it CONTAINER-ID /bin/bash
停止
コンテナIDを指定して停止。
$ docker stop CONTAINER-ID
再開
コンテナIDを指定して再開。
$ docker start CONTAINER-ID
削除
コンテナIDを指定して削除。複数のコンテナIDを指定できる。
$ docker rm CONTAINER-ID CONTAINER-ID CONTAINER-ID
停止しているコンテナをすべて削除。
$ docker container prune
状態に関わらず、すべてのコンテナを削除。
$ docker rm -f $(docker ps -aq)
その他Tips
no Space Left on Deviceの対処法
空き容量不足によるエラー。単純にディスクが不足している以外に、Dockerに割り当てられている仮想ディスクの容量不足が原因のことがある。 不要なイメージやコンテナを消すか、仮想ディスクの容量を増やしてあげると解決する。