Docker error cannot delete docker container, conflict: unable to remove repository reference
我想在Docker上删除容器,但是当你想删除时会出错。
我的下一步在删除容器之前,请参见现有容器的列表
1 2 3 4 5 6 | 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) |
一个我想删除的列表,即"培训/webapp"但是发生了一个错误
1 2 3 | 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] |
容器是否正在图像中运行?
请帮助
首先,删除容器名称
1 | $ sudo docker rm backstabbing_ritchie |
结果
1 2 | $ sudo docker rm backstabbing_ritchie backstabbing_ritchie |
删除第二部分,列在要删除的容器上
1 2 | $ sudo docker rm drunk_feynman drunk_feynman |
其次,取出容器
1 | $ sudo docker rmi training/webapp |
结果
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | $ 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 |
检查集装箱
1 2 3 | $ 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容器之间存在差异。检查这个问题。
简而言之,容器是一个正在运行的映像实例。这就是为什么如果图像中存在正在运行的容器,则无法删除图像的原因。您只需要先删除容器。
1 2 3 4 5 6 7 8 9 10 | Docker ps -a # Lists containers (and tells you which images they are spun from) Docker images # Lists images Docker rm <container_id> # Removes a container Docker rmi <image_id> # Removes an image # Will fail if there is a running instance of that image i.e. container Docker rmi -f <image_id> # Forces removal of image even if it is referenced in multiple repositories, # i.e. same image id given multiple names/tags # Will still fail if there is a docker container referencing image |
Docker 1.13+更新[自2017年1月起]
In Docker 1.13, we regrouped every command to sit under the logical object it’s interacting with
基本上,上述命令也可以重写,更清楚地说,如下所示:
1 2 3 4 | Docker container ls Docker image ls Docker container rm <container_id> Docker image rm <image_id> |
您可以使用
在删除之前,您可以停止使用
如果要清除Docker图像和容器
小心:这会冲洗所有东西
停止所有容器
1 | docker stop $(docker ps -a -q) |
移除所有容器
1 | docker rm $(docker ps -a -q) |
删除所有图像
1 | docker rmi -f $(docker images -a -q) |
如果您启动了多个Docker容器,请使用此
它将删除"ps-aq"命令中列出的所有当前docker。
资料来源:aaam,网址:https://github.com/docker/docker/issues/12487
注意到这是一个2年前的问题,但仍然想分享我对这个特定问题的解决方法:
首先,运行EDOCX1[4]列出您拥有的所有容器,并确定要删除的内容。
其次,删除命令为
BR/>第三,通过运行
BR/>最后,您可以运行