Editing files using editors in Docker with Vagrant

2019-03-19 06:06发布

What is the best way for me to edit a file using sublime or other editors in Docker with Vagrant?

I'm working on Mac OSX environment, and I've followed the steps on Docker's official document.

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

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

It seems like I've to use docker inside vagrant environment (on Mac Docker installation). So this makes me unable to edit my files with my sublime editor.

so how could I get to edit my files with original bash (outside Vagrant and Docker environment), or did I have to set up all the environment again on vagrant to achieve it?


And I've looked up Vagrant official document

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

after I've ssh to vagrant environment vagrant ssh, go to cd /vagrant/ and create a file.

It should be in root of the docker repository where I've started up my Vagrant, isn't it? But I can't find it...

3条回答
做个烂人
2楼-- · 2019-03-19 06:23

You have to mount the host volume into boot2docker vagrant vm first, and then, mount the vm volume into your container, more info at http://felipejfc.com/2014/08/29/vagrant_docker_sync_folder/

查看更多
太酷不给撩
3楼-- · 2019-03-19 06:37

The code has to be on your computer, and shared down all the way to docker. This is actually pretty easy to do.

First you need to share the code to vagrant. This is done in the Vagrantfile, using the synced_folder option. For example, if your code is in /Users/LiJung/code/, you can try something like:

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

We use NFS because the default way of sharing folders between host and VM (vboxfs) is dubious at best.

This will make your code available in the /app folder inside the VM.

Next you want to run a container and mount an external volume into it, using the -v option:

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

This will run a container and mount the /app folder of the VM to the /app folder of the container.

You can now enjoy the comfort of your favorite editor!

查看更多
闹够了就滚
4楼-- · 2019-03-19 06:48

You are not alone on this issue although it might be hard to reproduce. You can see it reported on this pull request and this question here at Stack Overflow (with possible workaround). When I had this issue, I just restarted the virtual machine and the files showed up on the /vagrant folder.

查看更多
登录 后发表回答