我想运行 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
(或任何你想要的路径)。