Docker提供商在Vagrant上同步文件夹错误

我正试图通过docker提供商在无业游民中自动build立一个Docker镜像。

我的目录看起来像这样:

Dockerfile external .vagrant Vagrantfile 

我的Dockerfile的相关部分如下所示:

 FROM ubuntu:14.04 MAINTAINER Austin Lopez <austinhlopez@gmail.com> ... RUN sudo mv /tmp/external/{my_file}.tar . RUN sudo tar xvf {my_file}.tar 

我的Vagrantfile看起来像这样:

 # -*- mode: ruby -*- # vi: set ft=ruby : Vagrant.configure(2) do |config| config.vm.synced_folder "./external", "/tmp/external" config.ssh.insert_key = false config.vm.provider "docker" do |d| d.build_dir = "." d.force_host_vm = true end end 

当我运行“vagrant up –provider = docker”时,我看到以下几行:

 ==>default: Syncing folders to the host VM... default: Rsyncing folder: ./external => /var/lib/docker/docker_143... 

在我的docker文件中,我尝试访问/ tmp / external目录中的同步文件,并且出现以下错误:

 cannot stat 'tmp/external/{my_file}': no such file or directory. 

如何使用Docker Provider同步文件夹? 我正在构buildDockerfile之前运行Dockerfile,但我不确定。 我也将Docker卷看作是一个潜在的解决scheme,但是我认为这是从VM内而不是从主机上挂载文件夹。

图像生成后,已同步的文件夹可用于Docker容器。

在那之前,Vagrant只是像平常一样从Dockerfile构buildDocker镜像,所以Dockerfile中的引用应该引用主机,而不是试图引用共享文件夹作为容器的主持人。