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中的引用应该引用主机,而不是试图引用共享文件夹作为容器的主持人。