无法停止或终止 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 命令行是行不通的。
我是 运行 我的 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 命令行是行不通的。