无法停止或终止 Docker 图片

Cannot stop or kill Docker image

我是 运行 我的 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

您正在查看图像并试图停止容器。它们不一样。 docker ps 会给你 运行ning 容器,docker ps -a 会给你所有容器。

镜像只是docker 运行 命令使用的文件系统的镜像。 docker 运行 创建可以停止或删除的容器 (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  

如您所见,ID 不同 - 这些容器已经退出 - 因此无法停止它们,可以检查、删除、重新启动它们。如果您在进程完成时不需要容器 - 您可以使用 --rm 选项:

docker run --rm ubuntu

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

要停止所有 docker 个容器:

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

然后删除所有 docker 个容器:

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

要删除所有 docker 张图片:

$ docker rmi $(docker images -q)

正如 Jonathan 所说的如何停止所有 docker 容器,但是您需要为 [=23] 使用 Git Bash 或 Windows 子系统=] (WSL) 允许它工作。

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

仅使用普通的 windows 命令行是行不通的。