尝试使用docker-compose命令并调出容器。但面临错误INTERNAL ERROR:无法创建临时目录!我无法拉,停,rm或UP和容器。任何人都可以建议如何解决这个问题?
答案 0 :(得分:11)
我遇到了同样的问题,结果我已经没用磁盘空间了。
我需要做的就是通过运行以下命令来清除旧容器和图像。我把这些放在我的Docker目录上,之后一切都很好。
删除容器命令:
#!/bin/bash
# Remove all stopped containers
docker rm $(docker ps -a -q)
# Remove all containers
docker rm -f $(docker ps -a -q)
命令选项:
--force
或-f
:强制删除正在运行的容器(使用SIGKILL)。
--volumes
或-v
:删除与容器关联的卷。
--link
或-l
:删除指定的链接。
删除图片命令:
# Delete all images
docker rmi $(docker images -q)
命令选项:
--force
或-f
:强制删除图片。
--no-prune
:不要删除无标记的父母。
系统修剪命令: - Ryan Allan
在评论中建议。
#!/bin/bash
#System Prune
docker system prune
--all
或-a
:删除所有未使用的图像,而不仅仅是悬空图片。
--filter
提供过滤器值(例如'label ==')< - 来自API 1.28 +
--force
或-f
:不要提示确认。
--volumes
:修剪卷。
基本命令:
docker
:Docker CLI的基本命令。
答案 1 :(得分:0)
Docker缓存所在的磁盘空间不足,您可以通过运行命令df -h
来验证这一点。要修复此问题,您需要清理磁盘空间,例如,您可以清理Docker缓存,查看下面的小脚本。
此解决方案基于Popeye
答案,但强制停止所有图像:
#!/bin/bash
# Force stop all containers
docker kill $(docker ps -q)
# Delete all containers
docker rm $(docker ps -a -q)
# Delete all images
docker rmi $(docker images -q)
但正如Ryan Allen
所述,最好使用docker system prune
删除所有容器,图像和网络。所以脚本的最终视图应该是:
#!/bin/bash
# Force stop all containers
docker kill `docker ps -q`
# Delete all containers, images and networks
docker system prune
享受!
答案 2 :(得分:0)
对于在VM内使用docker的人来说,也可能是您无意间断开了存储VM映像的驱动器的连接。就像我的情况一样。在这种情况下,最好停止VM,确保驱动器已连接,然后重新启动。