如何解决Docker for Mac中Docker.qcow2的大小限制?

我有一个大的(100GB +)数据库,我试图用官方postgres图像运行。

我无法将数据存储在~/Library/Containers/com.docker.docker/Data/com.docker.driver.amd64-linux/Docker.qcow2卷中,因为Docker for Mac中的~/Library/Containers/com.docker.docker/Data/com.docker.driver.amd64-linux/Docker.qcow2文件的大小限制为约60gb。

我很犹豫要把一个主机目录挂载成一个卷,因为挂载的主机目录卷的文件访问速度比常规卷慢得多。

这些是一些有用的链接,在这些问题上有更多的细节:

  • 这讨论了Docker.qcow2文件的大小限制
  • 这也讨论了Docker.qcow2文件的大小限制
  • 这讨论了挂载的主机目录卷速问题
  • 这给了一个很好的描述如何用一个可以变大的文件replaceDocker.qcow2文件
  • 这将讨论Docker.qcow2文件如何在内容被删除时不收缩(这不是直接相关的,但会使问题进一步复杂化)

你们都吃速度损失,并挂载主机目录? 你是否手动创build一个qcow2文件,可以使用qemu进行扩展(如果你这样做,你需要在升级之间维护这个文件)? 你有其他的办法来解决这个问题吗?

对于这样的情况,我肯定会推荐创build一个可以变大的qcow图像。

这是一个相对简单的过程,当运行大型数据库时,您将获得性能上的好处,这通常是非常必要的。

以下脚本删除并重新创build一个新的收缩的Docker.qcow2文件,保留作为parameter passing的图像。

https://blog.mrtrustor.net/post/clean-docker-for-mac/

希望这可以帮助。