コンテナへのアクセス方法。
大まかなコンテナ構築手順
一般的な簡単なコンテナ構築手順は以下である。
- Dockerfileを作成する
- イメージをビルドする
- コンテナを起動/停止する
- コンテナへアクセスする
- コンテナ/イメージを削除する ←今回はこちら
コンテナの削除方法
以下のコマンドで停止したコンテナを削除できる。
docker rm コンテナ名もしくはコンテナID
コンテナを停止していないと削除できない。
ただし、コンテナ起動中でも強制的に削除したい場合は、-fをつける。
docker rm -f コンテナ名もしくはコンテナID
イメージの削除方法
以下のコマンドで停止したイメージを削除できる。
docker rmi イメージ名:タグもしくはイメージID
そのイメージが使用されているコンテナが存在している場合は、削除できない。
ただし、イメージを強制的に削除したい場合は、-fをつける。
docker rm -f イメージ名:タグもしくはイメージID
実際にコンテナ/イメージを削除してみる
起動されているコンテナを確認。
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
25122458d2a2 mypythonimage:1.0 "python3" 6 hours ago Up 6 hours mypycontainer
使用されているイメージを削除してみる。(削除できない)
$ docker rmi mypythonimage:1.0
Error response from daemon: conflict: unable to remove repository reference "mypythonimage:1.0" (must force) - container 25122458d2a2 is using its referenced image e0f51fa89a90
起動中のコンテナを削除してみる。(削除できない)
$ docker rm mypycontainer
Error response from daemon: cannot remove container "/mypycontainer": container is running: stop the container before removing or force remove
上記の通り、コンテナで使用されているイメージや起動中のコンテナはオプションなしでは削除できないことがわかる。
起動中のコンテナを強制削除してみる。(削除できる)
$ docker rm -f mypycontainer
mypycontainer
コンテナが削除されているか確認。
$ docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
$
続いてイメージを削除する。
$ docker rmi mypythonimage:1.0
Untagged: mypythonimage:1.0
Deleted: sha256:e0f51fa89a90d413a3ddea4e49825ab8c19fd49356d194b3ce2ac5918fff3da6
$
イメージが削除されていることを確認。
$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
$
以上でコンテナおよびイメージを削除することができた。
簡単なコンテナ構築については以上。