我使用以下命令删除所有docker容器:
docker ps -q | xargs docker stop
docker ps -aq --no-trunc -f status=exited | xargs docker rm
但是无论如何,我在之后看到了容器
$ docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
70cb7107d00d 24820714bfc6 "wait-for-it.sh mysqâ¦" 21 minutes ago Created sql_migration
然后我执行了命令
docker rm sql_migration
然后它删除了容器。
请帮助您纠正初始命令并解释为什么它不起作用。
如果您能解释如何将容器更改为sql_migration
等状态,我也将不胜感激
答案 0 :(得分:2)
要删除所有exited
和created
容器,而不要删除Up
(正在运行)的容器,
docker container prune -f
-f
或--force
防止提示您回答以下问题:
WARNING! This will remove all stopped containers.
Are you sure you want to continue? [y/N]
示例(请注意,没有删除一个容器)
$ docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
053ce57276b7 alpine "/bin/sh" 3 seconds ago Created eager_meninsky
55f20431a536 alpine "/bin/sh" 15 seconds ago Up 14 seconds hardcore_clarke
44cbe2dc81b0 alpine "/bin/sh" 38 seconds ago Exited (0) 37 seconds ago test
647747afb9a4 alpine "/bin/sh" 18 hours ago Exited (137) 18 hours ago admiring_visvesvaraya
$ docker container prune -f
Deleted Containers:
053ce57276b7d7008272e95991cf950268b9b32676b1389ec6e8ab6e6b755dc9
44cbe2dc81b0522e0fd0e53f28a4d3871b818b9b17681dd011c8680ab37b51e7
647747afb9a431a2c5040e6aba5119b199b94061c444ff0194aaa809dbf849b8
Total reclaimed space: 0B
$ docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
55f20431a536 alpine "/bin/sh" 45 seconds ago Up 44 seconds hardcore_clarke
docker container stop $(docker container ls -aq)
docker container prune -f
示例:
$ docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
da7ffd8efb62 alpine "/bin/sh" 5 seconds ago Created quirky_poitras
31cb71a8899c alpine "/bin/sh" 20 seconds ago Exited (0) 13 seconds ago elastic_shaw
becfdc81228c alpine "/bin/sh" 25 seconds ago Up 24 seconds thirsty_murdock
$ docker container stop $(docker container ls -aq)
da7ffd8efb62
31cb71a8899c
becfdc81228c
$ docker container prune -f
Deleted Containers:
da7ffd8efb623677882b1534008e66a1530baa94e0473be537ef5c415c928ba3
31cb71a8899c47472d0ccb5710e34ff08b4ef142599d4e857e3e69740a2e59b5
becfdc81228cdf41519102ea780956eed71a86103e849dff3d9f7cca0a54651f
Total reclaimed space: 5B
$ docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
答案 1 :(得分:1)
我使用以下命令删除所有docker容器:
docker rm $(docker ps -aq)
答案 2 :(得分:0)
我使用以下命令删除所有容器:
docker stop $(docker ps -aq)
docker rm $(docker ps -aq)
答案 3 :(得分:0)
一个衬板可停止/移除所有Docker容器:
docker stop $(docker ps -a -q)
docker rm $(docker ps -a -q)
答案 4 :(得分:0)
案例 1。为了仅删除停止的容器,请使用 sudo docker container prune -f
$ docker container prune
WARNING! This will remove all stopped containers.
Are you sure you want to continue? [y/N] y
Deleted Containers:
4a7f7eebae0f63178aff7eb0aa39cd3f0627a203ab2df258c1a00b456cf20063
f98f9c2aa1eaf727e4ec9c0283bc7d4aa4762fbdba7f26191f26c97f64090360
Total reclaimed space: 212 B
案例 2. 为了删除系统上所有现有的 docker 容器(在所有状态 - 正在运行/停止/退出容器),请使用sudo docker container ls -aq | xargs sudo docker container rm
,
命令说明:
sudo container ls -aq
- 通过容器 ID 过滤器列出系统上的所有容器。xargs
- 迭代管道输出并在每一行执行命令docker container rm <container-id>
- docker 容器移除