无法停止或杀死Docker镜像

时间:2015-01-14 17:10:35

标签: docker boot2docker

我在Windows 7上运行boot2docker。 在VM映像中,我试图阻止所有Docker映像,但是我收到错误:

docker@boot2docker:~$ docker images
REPOSITORY           TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
svendowideit/samba   latest              ce8e4e03282a        8 days ago          252 MB
hello-world          latest              e45a5af57b00        13 days ago         910 B
busybox              latest              4986bf8c1536        13 days ago         2.433 MB
docker@boot2docker:~$ docker stop e45a5af57b00
Error response from daemon: No such container: e45a5af57b00
FATA[0000] Error: failed to stop one or more containers
docker@boot2docker:~$ docker kill e45a5af57b00
Error response from daemon: No such container: e45a5af57b00
FATA[0000] Error: failed to kill one or more containers

3 个答案:

答案 0 :(得分:8)

停止所有泊坞容器:

$ docker stop $(docker ps -a -q)

然后删除所有docker容器:

$ docker rm $(docker ps -a -q)

删除所有泊坞窗图像:

$ docker rmi $(docker images -q)

答案 1 :(得分:7)

您正在查看图像并尝试停止容器。他们不一样。 docker ps将为您提供运行容器,docker ps -a将为您提供所有容器。

图像只是docker run命令使用的文件系统的图像。 docker run创建可以停止或删除的容器(docker rm)但你很少需要删除图像(docker rmi)。

$ docker images
REPOSITORY                        TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
ubuntu                            latest              5506de2b643b        11 weeks ago        199.3 MB

$ docker run ubuntu
$ docker run ubuntu
$ docker ps -a
CONTAINER ID        IMAGE                               COMMAND                CREATED             STATUS                      PORTS               NAMES
037b45371358        ubuntu:latest                       "bash"                 2 seconds ago       Exited (0) 2 seconds ago                        goofy_yalow         
7a1f93ed42b3        ubuntu:latest                       "bash"                 4 seconds ago       Exited (0) 3 seconds ago                        admiring_yalow  

正如您所看到的那些不同 - 这些容器已经退出 - 因此它们无法停止,可以检查,删除,重新启动。如果您在处理过程中不需要容器,则可以使用--rm选项:

docker run --rm ubuntu

然后容器会在停止时自动删除。

答案 2 :(得分:0)

如乔纳森(Jonathan)所述,如何停止所有docker容器,但是您将需要使用Git Bash或Linux的Windows子系统(WSL)才能使它工作。

要安装WSL,请参阅此链接。 https://docs.microsoft.com/en-us/windows/wsl/install-win10

仅使用普通的Windows命令行将不起作用。