使用Vagrant在Docker中使用编辑器编辑文件(在Mac上)

使用Vagrant的Docker中使用崇高或其他编辑器编辑文件的最佳方式是什么?

我正在使用Mac OSX环境,并且已经按照Docker官方文档中的步骤进行了操作。

http://docs.docker.io/en/latest/installation/vagrant/

git clone https://github.com/dotcloud/docker.git cd docker vagrant up 

这似乎是我必须使用docker在stream浪环境(在Mac Docker安装)。 所以这使我无法用我的崇高编辑器编辑我的文件。

那么怎么才能用原bash (在Vagrant和Docker环境之外)来编辑我的文件,还是我必须在stream浪者身上重新设置所有的环境来实现它?


我查了一下stream浪官方文件

http://docs.vagrantup.com/v2/getting-started/up.html

在我ssh到stream浪的环境vagrant ssh ,去cd /vagrant/并创build一个文件。

它应该在我启动了stream浪者的docker仓库的根目录下,不是吗? 但是我找不到

代码必须在您的计算机上,并一直共享到docker。 这实际上很容易做到。

首先你需要分享代码来stream浪。 这是在Vagrantfile中使用synced_folder选项完成的。 例如,如果您的代码位于/Users/LiJung/code/ ,则可以尝试如下所示:

 config.vm.synced_folder "/Users/LiJung/app", "/app", :nfs => true 

我们使用NFS是因为在主机和虚拟机(vboxfs)之间共享文件夹的默认方式最多是可疑的。

这将使您的代码在VM内的/app文件夹中可用。

接下来,您需要运行一个容器并使用-v选项将一个外部卷装入其中:

 docker run -i -t -v /app:/app <yourcontainer> /bin/bash 

这将运行一个容器,并将VM的/app文件夹挂载到容器的/app文件夹中。

你现在可以享受你最喜欢的编辑器的舒适!

在这个问题上你并不孤单,尽pipe它可能很难重现。 你可以看到它报告这个拉请求和这个问题在这里堆栈溢出 (可能的解决方法)。 当我遇到这个问题时,我刚刚重新启动了虚拟机,文件出现在/vagrant文件夹中。

您必须首先将主机卷装入boot2docker vagrant vm,然后将vm卷装入您的容器,有关详细信息,请访问http://felipejfc.com/2014/08/29/vagrant_docker_sync_folder/