我有一个大型(100gb +)数据库,我正试图使用official postgres image运行。
我无法将数据存储在docker卷中,因为Docker for Mac中的~/Library/Containers/com.docker.docker/Data/com.docker.driver.amd64-linux/Docker.qcow2
文件的大小限制大约为60gb。
我对将主机目录挂载为卷犹豫不决,因为挂载的主机目录卷中的文件访问速度比常规卷慢得多。
这些是一些有用的链接,可以更详细地讨论这些问题:
你们都只吃速度损失并挂载主机目录吗?你手动创建一个qcow文件,可以用qemu增大(如果这样做,你需要在升级之间维护这个文件)吗?你还有别的办法处理这个问题吗?
答案 0 :(得分:2)
以下脚本删除并重新创建一个新的缩小的Docker.qcow2文件,保留作为参数传递的图像。
https://blog.mrtrustor.net/post/clean-docker-for-mac/
希望这有帮助。
答案 1 :(得分:1)
对于这样的情况,我肯定会建议创建一个可以变大的qcow图像。
这是一个相对简单的过程,您可以获得运行大型数据库时通常非常必要的性能优势。
答案 2 :(得分:0)
Docker for Mac 18.06从qcow2文件格式切换为原始文件格式,从而提高了速度和磁盘使用率。核心问题仍然存在,因为Docker有限的空间可用于所有数据。但是,您现在可以在首选项->磁盘->磁盘映像大小中设置该限制。
适用于Mac的Docker版本17.12是第一个引入原始文件格式的版本,但是初始发行版中存在一些错误,导致他们暂时将其作为功能部件删除。您可以在该页面上搜索“原始”,以回顾该功能的历史记录。
关于Docker for Mac如何报告其磁盘使用情况,有个很好的说明here ...
这将显示逻辑大小:
ls -alh ~/Library/Containers/com.docker.docker/Data/vms/0/Docker.raw
这将显示物理尺寸:
du -h ~/Library/Containers/com.docker.docker/Data/vms/0/Docker.raw