这是devicemapper的内核问题,它影响RedHat操作系统家族(RedHat,Fedora,CentOS和Amazon Linux)。删除的容器不会释放映射的磁盘空间。这意味着在受影响的操作系统上,启动和重新启动容器时会慢慢用完空间。
Docker项目已经意识到了这一点,并且内核被固定在上游(https://github.com/docker/docker/issues/3182)。
某种变通方法是为Docker提供其自己的卷以进行写入(“当Docker吞噬了您的磁盘空间时”)。这实际上并不能阻止它吞噬空间,而只是在其吞噬之后删除了系统的其他部分。
我的解决方案是卸载docker,然后删除其所有文件,然后重新安装:
sudo yum remove docker
sudo rm -rf /var/lib/docker
sudo yum install docker
这使我重新获得了空间,但是与启动替换实例并没有什么不同。我还没有找到更好的解决方案。