すべてのdockerイメージを削除するにはどうすればよいですか?


8

時々私はドッカーからすべてを取り除き、白紙の状態から始めたいだけです。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

回答:


9

これを行う最も簡単な方法は、次の3つのステップを実行することです。

  1. すべてのコンテナを停止します
  2. すべてのコンテナを削除します
  3. すべての画像を削除

これを実現するには、docker psおよびdocker imagesコマンド機能を利用して、ID -qまたは--quietスイッチを介してIDのリストを返すだけです。これは、これらの両方のコマンドが通常返すすべての残骸を取り除き、次のようにちょうど良いリストを提供します:

デフォルトの出力
$ 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 imagesdocker psも使用します-a--allスイッチがショーあなたのすべてのIDを。

この出力を利用して、次のような他のDockerコマンドからの出力を利用するDockerコマンドを作成できます。

$ docker rm $(docker ps -qa)

家の掃除

したがって、すべてを削除するタスクを完了するには、次のコマンドを使用します。

$ docker stop $(docker ps -qa)
$ docker rm $(docker ps -qa)
$ docker rmi $(docker images -qa)
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.