CoreOS-vagrant:如何从主机挂载 /var/lib/docker

CoreOS-vagrant:如何从主机挂载 /var/lib/docker

我想运行 CoreOS (beta),并让 /var/lib/docker 的内容在我的主机上可用,这样我就可以检查 docker 容器镜像内的文件。这仅适用于本地开发。

让我们以 Wordpress 开发为例: - 我在 vagrant 中运行 coreos beta - 通过卷将我的应用程序代码挂载到容器内 - 容器镜像安装 wordpress 核心 - 并且还通过 composer(一个 php 包管理器)添加插件

我希望能够在我的 IDE 中添加 wordpress 核心和插件以便进行调试。

我尝试通过 vagrant 将 nfs 从主机安装到 vbox。当我第一次运行“docker info”时,/var/lib/docker 已创建,但它使用的是 devicemapper(而不是 overlayfs),并且不知何故在 devicemapper 文件中占用了我所有的硬盘空间(然后挂起)。

还考虑过在 coreos 中安装 nfs-server,但这需要自定义构建 coreos-vagrant,我想避免这种情况。

还有其他选择吗?谢谢!

答案1

最好的方法是使用Docker 卷

您不能/var/lib/docker在 NFS 上使用,它基本上不起作用。人们可以考虑让它通过 NFS 与 Docker 的 VFS 后端一起工作,但这几乎没有用,而且性能会很糟糕。

您可以潜在地导出/var/lib/docker,即 Docker 主机将充当 NFS 服务器......但这几乎没有任何用处。

在我看来,你只需要更新容器中的文件而无需重建/重新启动,Docker 卷可以最好地满足这一需求。你可以通过 NFS 执行此操作。基本上,Docker 主机/nfs将从 Vagrant 主机挂载,然后你将使用它docker run -v /nfs/wp-plugins:/opt/wp-plugins(或任何你想要的路径)。

相关内容