在Docker with Vagrant中使用sublime或其他编辑器编辑文件的最佳方法是什么?
我正在使用Mac OSX环境,我已按照Docker官方文档中的步骤进行操作。
http://docs.docker.io/en/latest/installation/vagrant/
git clone https://github.com/dotcloud/docker.git
cd docker
vagrant up
好像我要在vagrant环境中使用docker(在Mac Docker上安装)。所以这使我无法使用我的崇高编辑器编辑我的文件。
那么我如何使用原始bash
(在Vagrant和Docker环境之外)编辑我的文件,或者我是否必须再次在vagrant上设置所有环境才能实现它?
我查了一下Vagrant官方文件
http://docs.vagrantup.com/v2/getting-started/up.html
在我进入流浪者环境vagrant ssh
之后,转到cd /vagrant/
并创建一个文件。
它应该在Docker存储库的根目录中,我已经启动了我的Vagrant,不是吗?但我找不到它......
答案 0 :(得分:8)
代码必须在您的计算机上,并一直共享到docker。这实际上很容易做到。
首先,您需要将代码共享给vagrant。这是在Vagrantfile中使用synced_folder
选项完成的。例如,如果您的代码位于/Users/LiJung/code/
,则可以尝试以下内容:
config.vm.synced_folder "/Users/LiJung/app", "/app", :nfs => true
我们使用NFS,因为在主机和VM(vboxf)之间共享文件夹的默认方式充其量是可疑的。
这将使您的代码在VM内的/app
文件夹中可用。
接下来,您要使用-v
选项运行容器并将外部卷装入其中:
docker run -i -t -v /app:/app <yourcontainer> /bin/bash
这将运行一个容器并将VM的/app
文件夹挂载到容器的/app
文件夹中。
您现在可以享受您喜爱的编辑的舒适感!
答案 1 :(得分:0)
在这个问题上你并不孤单,尽管它可能难以重现。您可以在this pull request和this question here at Stack Overflow上看到它已报告(可能的解决方法)。当我遇到此问题时,我刚刚重新启动虚拟机,文件显示在/vagrant
文件夹中。
答案 2 :(得分:0)
首先必须将主机卷装入boot2docker vagrant vm,然后将vm卷装入容器,更多信息请http://felipejfc.com/2014/08/29/vagrant_docker_sync_folder/