【问题标题】:Editing files using editors in Docker with Vagrant (on Mac)使用带有 Vagrant 的 Docker 中的编辑器编辑文件(在 Mac 上)
【发布时间】:2013-11-20 06:18:25
【问题描述】:

对我来说,使用 sublime 或 Docker 中的其他编辑器和 Vagrant 编辑文件的最佳方法是什么?

我在 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 安装上)。所以这让我无法用我的 sublime 编辑器编辑我的文件。

那么我怎样才能使用原始 bash(在 Vagrant 和 Docker 环境之外)编辑我的文件,或者我必须在 vagrant 上重新设置所有环境才能实现它?


我查了 Vagrant 官方文档

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

在我 ssh 到 vagrant 环境 vagrant ssh 后,转到 cd /vagrant/ 并创建一个文件。

它应该在我启动 Vagrant 的 docker 存储库的根目录中,不是吗?但是我找不到...

【问题讨论】:

    标签: macos vagrant docker


    【解决方案1】:

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

    首先您需要将代码分享给 vagrant。这是在 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文件夹中。

    您现在可以享受您最喜欢的编辑器带来的舒适感!

    【讨论】:

    【解决方案2】:

    您并不孤单,尽管它可能难以重现。您可以在 this pull requestthis question here at Stack Overflow 上看到它的报告(可能有解决方法)。当我遇到这个问题时,我只是重新启动了虚拟机,文件显示在 /vagrant 文件夹中。

    【讨论】:

      【解决方案3】:

      您必须先将主机卷挂载到 boot2docker vagrant vm 中,然后将 vm 卷挂载到您的容器中,更多信息请访问http://felipejfc.com/2014/08/29/vagrant_docker_sync_folder/

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2020-05-01
        • 1970-01-01
        • 1970-01-01
        • 2015-12-08
        • 1970-01-01
        • 1970-01-01
        • 2018-05-09
        相关资源
        最近更新 更多