如何在Docker中修复“设备上没有空间”错误?
我正在运行Mac原生Docker(没有虚拟机/码头机). 我有一个巨大的形象,其中有很多基础设施(Postgres等). 当我运行我的图像时,我收到如下错误:
在我的主机上Mac / var占用60%的可用空间,通常我的磁盘有很多存储空间. 这是一些Docker配置,我需要提高它给它更多的资源? 来自docker里面的相关行:
这是df:
最佳答案
我最近在linux上使用dockmapper存储驱动程序安装了一个docker安装程序(默认).确实有一个docker配置我需要改变以解决这个问题.
Docker镜像由文件系统快照的只读层组成,每个层由Dockerfile中的命令创建,这些命令构建在公共基本存储快照之上.基本快照由所有映像共享,并具有默认大小为10GB的文件系统.当您运行映像时,您会在映像中的所有层之上获得一个新的可写层,因此您可以在正在运行的容器中添加新文件,但它最终仍然基于与10GB文件系统相同的基本快照.这对于devicemapper至少是正确的,不确定其他驱动程序. Here是docker的相关文档. 要将此默认值更改为其他值,可以设置一个守护程序参数,例如: docker daemon –storage-opt dm.basesize = 100G.由于您可能不需要手动运行守护程序,因此需要在某个文件中编辑docker守护程序选项,具体取决于您运行docker守护程序的方式.使用docker for mac,您可以在Daemon-> Advanced下的首选项中将守护程序参数编辑为JSON.您可能需要添加以下内容:
(但就像我说的,我在linux上有这个问题,所以没有尝试上面的内容). 无论如何,为了使其生效,您需要删除所有现有图像(以便在新基本快照的基础上重新创建它们以新大小).见storage driver options. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- 《数据结构》实验二:线性表的实验
- AngularJS使用$rootScope作为数据存储
- Angular directive&&Vue component
- Error: [$injector:nomod] Module 'dayApp' is
- 老男孩教育每日一题第118天:登录的时候,命令提示符变成了
- angular – Ionic2 – 只要我使用navCtrl推送新页面/组件,标
- 使用vim并预览markdown
- bash – 如何保持两个文件夹自动同步?
- AngularJS – ngClick,自定义指令和隔离范围问题
- bash – grep内部工作(具有其他文件给出的值的行)?