時にはdockerのすべての内容を消去して最初から始めたいときがあります。すべてのDockerコンテナと画像を削除する体系的な方法はありますか?
コンテナ
$ docker ps -a | head
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
7b055e9e5f1f fedora:latest /bin/sh 6 days ago Exited (0) 6 days ago ecstatic_colden
40da968258eb fedora:latest /bin/sh 6 days ago Exited (127) 6 days ago naughty_thompson
5be4581afad6 fedora:latest /bin/bash 6 days ago Exited (0) 6 days ago kickass_wright
4d6c33d4be6d fedora:latest /bin/bash 6 days ago Exited (0) 6 days ago furious_fermat
db7a29bdbc2d fedora:latest /bin/bash 6 days ago Exited (0) 6 days ago mad_hawking
e6b7365690ce fedora:latest /bin/bash 6 days ago Exited (0) 6 days ago trusting_ardinghelli
15655c21fcd3 8018e08e6a58 /bin/sh -c 'apt-get 3 weeks ago Exited (100) 3 weeks ago drunk_bardeen
607547aabbca f02ed0c206d5 /bin/sh -c 'apt-get 3 weeks ago Exited (100) 3 weeks ago cocky_franklin
f031f28bd29a f02ed0c206d5 /bin/sh -c 'apt-get 3 weeks ago Exited (100) 3 weeks ago stoic_mcclintock
絵
$ docker images -a | head
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
docker master 266a5746d179 2 weeks ago 1.528 GB
<none> <none> c1f6a4b1345c 3 weeks ago 1.526 GB
<none> <none> 6558c36ecb3f 3 weeks ago 1.526 GB
<none> <none> b1b7c7a6b6a7 3 weeks ago 1.24 GB
<none> <none> 0bf9d6bf97e9 3 weeks ago 1.182 GB
<none> <none> 48c444f1d2e7 3 weeks ago 1.182 GB
<none> <none> 5c5c172a0038 3 weeks ago 1.182 GB
<none> <none> de5e09bb86c1 3 weeks ago 1.182 GB
<none> <none> 785aaf265f18 3 weeks ago 1.182 GB
答え1
最も簡単な方法は、次の3つのステップに従うことです。
- すべてのコンテナを停止
- すべてのコンテナを削除
- すべての画像を削除
これを達成するには、docker ps
コマンド機能を使用してその場所を渡すか、docker images
IDリストを返すように切り替えます。これにより、通常、これら2つのコマンドから返されるすべての内容が削除され、次のような素晴らしいリストが提供されます。-q
--quiet
$ docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
7b055e9e5f1f fedora:latest /bin/sh 6 days ago Exited (0) 6 days ago ecstatic_colden
40da968258eb fedora:latest /bin/sh 6 days ago Exited (127) 6 days ago naughty_thompson
自動出力
$ docker ps -aq
7b055e9e5f1f
40da968258eb
5be4581afad6
4d6c33d4be6d
メモ:両方またはdocker images
スイッチをdocker ps
使用してすべてのIDを表示します。-a
--all
この出力を利用して、次のように他のDockerコマンドの出力を利用するDockerコマンドを構築できます。
$ docker rm $(docker ps -qa)
家を掃除する
したがって、すべての項目を削除する操作を完了するには、次のコマンドを使用できます。
$ docker stop $(docker ps -qa)
$ docker rm $(docker ps -qa)
$ docker rmi $(docker images -qa)