使用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/