Linux上的Azure Web应用程序上的磁盘空间不足

时间:2017-03-28 14:54:41

标签: linux azure docker

我在Linux上的Azure Web App上构建和部署新的Docker容器时遇到问题 错误日志声称是在空间外,当通过Kudu查看磁盘使用情况时,我可以看到我确实没有空间。
/> df -H给出:

Filesystem Size  Used Avail Use% Mounted on
none        29G   28G     0 100% /
/dev/sda1   29G   28G     0 100% /etc/hosts

之前已经在网络应用中部署了多个docker容器并将其删除,但看起来它们仍在占用空间。
在没有任何部署的情况下创建新的App Service计划可以提供大约5.7G的可用空间 似乎无法从Kudu终端运行docker命令,所以我无法检查有多少图像,也无法弄清楚如何清理空间。还没有sodu。 有没有人对如何释放空间有任何想法?

2 个答案:

答案 0 :(得分:0)

你的磁盘确实充满了Docker镜像。我把它们清除了;你应该畅通无阻。

这是一个众所周知的问题,我们很快就会解决这个问题。迭代和部署新容器是一种常见的情况,目标是将其完全抽象出来,您不必担心这一点。

答案 1 :(得分:0)

我相信我和我的同事在从Azure上的存储库中提取图像时遇到了这个问题。运行docker-compose pull后图像不会被清除,但主节点上似乎不存在。

我们会在ssh到该节点上看到以下内容:

> ssh username@server.eastus.cloudapp.azure.com -A -p 2200
> df -h
Filesystem      Size  Used Avail Use% Mounted on
# ...
/dev/sda1        29G  2.0G   26G   8% /

我们仍然会遇到太空问题。经过一些调试后,我们发现这些结果在连接到容器本身时会有所不同:

> docker-compose exec container_name /bin/bash
> df -h
Filesystem      Size  Used Avail Use% Mounted on
# ...
/dev/sda1        29G  29G   0G   100% /etc/hosts

以下代码段可以清除所有未使用的图像:

docker rmi $(docker images --filter "dangling=true" -q --no-trunc)

请注意,--no-trunc是必需的,没有它,docker会抱怨图像实际上不存在。