Docker错误无法删除Docker容器,冲突:无法删除存储库引用

Docker错误无法删除Docker容器,冲突:无法删除存储库引用,docker,containers,Docker,Containers,我想删除Docker上的容器,但在删除时出错 docker network inspect [<id> or <name>] 在移除容器之前的下一步,请参阅现有容器的列表 sts@Yudi:~/docker$ sudo docker ps -as CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS

我想删除Docker上的容器,但在删除时出错

docker network inspect [<id> or <name>]
在移除容器之前的下一步,请参阅现有容器的列表

sts@Yudi:~/docker$ sudo docker ps -as

CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                    PORTS               NAMES                  SIZE
78479ffeba5c        ubuntu              "/bin/bash"         42 hours ago        Exited (0) 42 hours ago                       sharp_wescoff          81 B (virtual 187.7 MB)
0bd2b54678c7        training/webapp     "python app.py"     5 days ago          Exited (0) 5 days ago                         backstabbing_ritchie   0 B (virtual 323.7 MB)
0adbc74a3803        training/webapp     "python app.py"     5 days ago          Exited (143) 5 days ago                       drunk_feynman          0 B (virtual 323.7 MB)
$ sudo docker rmi training/webapp
我想删除列表中的一个,即“training/webapp” 但是发生了一个错误

sts@Yudi:~/docker$ sudo docker rmi training/webapp
Error response from daemon: conflict: unable to remove repository reference "training/webapp" (must force) - container 0bd2b54678c7 is using its referenced image 54bb4e8718e8
Error: failed to remove images: [training/webapp]
容器是否在图像中运行


请帮助

您可以使用
-f
选项强制删除容器

sudo docker rmi-f培训/webapp


在删除之前,您可以使用
sudo docker stop training/webapp
停止容器。首先,删除容器名称

$ sudo docker rm backstabbing_ritchie
结果

$ sudo docker rm backstabbing_ritchie
  backstabbing_ritchie
$ sudo docker rmi training/webapp  
  Untagged: training/webapp:latest
  Deleted: 54bb4e8718e8600d78a5d7c62208c2f13c8caf0e4fe73d2bc0e474e93659c0b5
  Deleted: f74dd040041eb4c032d3025fe38ea85de8075992bdce6789b694a44b20feb8de
  Deleted: 7cbae69141977b99c44dc6957b032ad50c1379124d62b7d7d05ab7329b42348e
  Deleted: abb991a4ed5e4cde2d9964aec4cccbe0015ba9cc9838b696e7a32e1ddf4a49bd
  Deleted: 1952e3bf3d7e8e6a9b1e23bd4142e3c42ff7f4b7925122189704323593fd54ac
  Deleted: f95ebd363bf27a7546deced7a41a4099334e37a3d2901fa3817e62bb1ade183f
  Deleted: 20dd0c75901396d41a7b64d551ff04952084cc3947e66c67bae35759c80da338
  Deleted: 2505b734adda3720799dde5004302f5edb3f2a2ff71438f6488b530b728ba666
  Deleted: 2ee0b8f351f753f78f1178000ae37616eb5bf241d4ef041b612d58e1fd2aefdc
  Deleted: 2ce633e3e9c9bd9e8fe7ade5984d7656ec3fc3994f05a97d5490190ef95bce8d
  Deleted: 98b15185dba7f85308eb0e21196956bba653cf142b36dc08059b3468a01bf35d
  Deleted: 515565c29c940355ec886c992231c6019a6cffa17ff1d2abdfc844867c9080c5
  Deleted: 2880a3395eded9b748c94d27767e1e202f8d7cb06f1e40e18d1b1c77687aef77
删除要删除的容器上列出的第二部分

$ sudo docker rm drunk_feynman 
  drunk_feynman
第二,移除容器

sts@Yudi:~/docker$ sudo docker ps -as

CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                    PORTS               NAMES                  SIZE
78479ffeba5c        ubuntu              "/bin/bash"         42 hours ago        Exited (0) 42 hours ago                       sharp_wescoff          81 B (virtual 187.7 MB)
0bd2b54678c7        training/webapp     "python app.py"     5 days ago          Exited (0) 5 days ago                         backstabbing_ritchie   0 B (virtual 323.7 MB)
0adbc74a3803        training/webapp     "python app.py"     5 days ago          Exited (143) 5 days ago                       drunk_feynman          0 B (virtual 323.7 MB)
$ sudo docker rmi training/webapp
结果

$ sudo docker rm backstabbing_ritchie
  backstabbing_ritchie
$ sudo docker rmi training/webapp  
  Untagged: training/webapp:latest
  Deleted: 54bb4e8718e8600d78a5d7c62208c2f13c8caf0e4fe73d2bc0e474e93659c0b5
  Deleted: f74dd040041eb4c032d3025fe38ea85de8075992bdce6789b694a44b20feb8de
  Deleted: 7cbae69141977b99c44dc6957b032ad50c1379124d62b7d7d05ab7329b42348e
  Deleted: abb991a4ed5e4cde2d9964aec4cccbe0015ba9cc9838b696e7a32e1ddf4a49bd
  Deleted: 1952e3bf3d7e8e6a9b1e23bd4142e3c42ff7f4b7925122189704323593fd54ac
  Deleted: f95ebd363bf27a7546deced7a41a4099334e37a3d2901fa3817e62bb1ade183f
  Deleted: 20dd0c75901396d41a7b64d551ff04952084cc3947e66c67bae35759c80da338
  Deleted: 2505b734adda3720799dde5004302f5edb3f2a2ff71438f6488b530b728ba666
  Deleted: 2ee0b8f351f753f78f1178000ae37616eb5bf241d4ef041b612d58e1fd2aefdc
  Deleted: 2ce633e3e9c9bd9e8fe7ade5984d7656ec3fc3994f05a97d5490190ef95bce8d
  Deleted: 98b15185dba7f85308eb0e21196956bba653cf142b36dc08059b3468a01bf35d
  Deleted: 515565c29c940355ec886c992231c6019a6cffa17ff1d2abdfc844867c9080c5
  Deleted: 2880a3395eded9b748c94d27767e1e202f8d7cb06f1e40e18d1b1c77687aef77
检查集装箱

  $ sudo docker ps -as
  CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                    PORTS               NAMES                  SIZE
  78479ffeba5c        ubuntu              "/bin/bash"         43 hours ago        Exited (0) 43 hours ago                       sharp_wescoff          81 B (virtual 187.7 MB)

如果已启动多个docker容器,请使用此

$docker rm$(docker ps-aq)

它将删除“ps-aq”命令中列出的所有当前Docker


来源:aaam on

docker图像和docker容器之间存在差异。看看这个

简而言之,容器是映像的可运行实例。这就是为什么如果图像中有正在运行的容器,则无法删除该图像您只需先删除容器。

docker ps-a#列出容器(并告诉您它们是从哪些图像旋转而来的)
docker图像#列出图像
docker rm#移除停止的容器
docker rm-f#强制移除正在运行的容器(使用SIGKILL)
docker rmi#删除图像
#如果存在该映像的运行实例,即容器,则将失败
docker rmi-f#强制删除图像,即使它在多个存储库中被引用,
#即,给定多个名称/标签的相同图像id
#如果存在引用图像的docker容器,则仍将失败
Docker 1.13+的更新[自2017年1月起]

在Docker 1.13中,我们重新组合了每个命令,使其位于与之交互的逻辑对象下

基本上,上述命令也可以更清楚地重写为:

docker container ls -a
docker image ls
docker container rm <container_id>
docker image rm <image_id>
警告!这将删除:

  • 所有停止的集装箱
  • 至少一个容器未使用的所有网络
  • 所有未使用的图像
  • 所有生成缓存

注意到这是一个2年前的问题,但仍想与大家分享我对这个问题的解决方法:

首先,运行
docker container ls-a
列出您拥有的所有容器,并确定要删除的容器。

其次,删除带有命令
docker container rm
(如果容器当前正在运行,您应该首先停止它,运行
docker container stop
以正常停止指定的容器,如果它没有出于任何原因停止它,您也可以运行
docker container kill以强制关闭指定的容器


第三,通过运行
docker-container-rm


移除容器
最后,如果要清理docker图像和容器,可以运行
docker image ls-a
查看所有图像,并通过运行
docker image rm

删除想要的图像

docker stop $(docker ps -a -q)
docker rm $(docker ps -a -q)
docker container ls
注意:这会冲掉所有东西

停止所有容器

docker stop $(docker ps -a -q)
docker rm $(docker ps -a -q)
docker container ls
移除所有容器

docker stop $(docker ps -a -q)
docker rm $(docker ps -a -q)
docker container ls
删除所有图像

docker rmi -f $(docker images -a -q)
docker image ls
删除docker图像> 列出所有容器

docker stop $(docker ps -a -q)
docker rm $(docker ps -a -q)
docker container ls
列出所有图像

docker rmi -f $(docker images -a -q)
docker image ls
按容器id停止容器

docker container stop <container_id>
docker container rm <container_id>
docker集装箱站
按容器id删除容器

docker container stop <container_id>
docker container rm <container_id>
docker容器rm
如果不想停止并移除,可以强制移除

docker container rm -f <container_id>
docker容器rm-f
删除图像

docker image rm <image_id>
docker映像rm
完成!

仅删除与特定图像关联的容器
  • ps-a:列出所有容器
  • grep training/webapp:过滤掉所有内容,但从training/webapp图像开始的容器除外
  • cut-d'-f 1:仅列出容器ID(当以空格分隔时为第一个字段)
  • xargs docker rm:将容器id列表输出发送到docker rm命令以删除容器

列出所有docker图像:

docker images
列出所有已存在的docker容器:

docker ps -a
删除使用要删除的图像的所有目标容器:

docker rm <container-id>
docker-rm
删除目标图像:

docker rmi <image-name:image-tag or image-id>
docker-rmi
删除docker中的“未找到网络” 检查我们无法删除的网络

docker network inspect [<id> or <name>]

我已经尝试过了,停止容器$sudo docker stop training/webapp错误响应来自守护进程:无此类id:training/webapp错误:无法停止容器:[training/webapp]您可以尝试使用容器ID>代码> Sudo-DokCultCult0BD2B5688C7</代码>如果您碰巧有很多旧容器,您也可以考虑DOCKER <代码> RM 'DOCSKER PS-AQ’/Cuth>进行清理,而不是一次删除一个。更多信息为什么删除图像之前必须删除该名称?为什么Souk?ld尝试删除图像而不首先删除名称是否有问题?@code\u dredd没有“删除名称”这样的事情。在删除图像之前,必须先删除容器。我有时会遇到这种情况,但我无法找出导致这种情况发生的模式(因为这并不总是发生在我身上),再加上如果我强制删除图像,它也会删除一堆其他东西。你知道是什么原因导致了错误吗?你能重现它吗?梅丽莎·安德森(Melissa Anderson)2017年12月的优秀最新总结,包括过滤器示例、模式等。我最后不得不使用
docker rmi-f id
来“强制”删除。@WernerCD
-f