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

时间:2013-11-20 06:18:26

标签: macos vagrant docker

在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,不是吗?但我找不到它......

3 个答案:

答案 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 requestthis question here at Stack Overflow上看到它已报告(可能的解决方法)。当我遇到此问题时,我刚刚重新启动虚拟机,文件显示在/vagrant文件夹中。

答案 2 :(得分:0)

首先必须将主机卷装入boot2docker vagrant vm,然后将vm卷装入容器,更多信息请http://felipejfc.com/2014/08/29/vagrant_docker_sync_folder/