Docker -v问题

时间:2017-05-14 06:09:14

标签: docker vagrant volumes

我使用apache和php7构建了一个docker镜像的设置,我试图将htdocs目录从主机挂载到容器。

整个docker系统运行在一个ubuntu 16.04 vagrant vm里面的虚拟盒子里面运行在Windows 10上。(confused?> :))

第一次运行时,我的文件在容器中共享,但如果我重新启动我的vagrant vm,则容器内的目录为空。

如果我做了#34;码头停止"和#34;码头开始"在容器上这些文件再次出现。

这是我的容器Vagrantfile的片段:

 config.vm.provision "docker" do |d|
 d.run "apachephp",
    args: "--name APP1 -p 80:80 -v /project/htdocs:/var/www/htdocs",
    daemonize: true
end

任何人都知道这个并且有解决方案吗?

祝你好运!

1 个答案:

答案 0 :(得分:1)

正如@Boynux提到的使用RSync解决了这个问题。谢谢你的暗示!我不确定问题的行为是什么,但以下步骤使我的设置正常工作:

  1. 安装MinGW
  2. 打开MinGW并安装软件包" msys-openssh"和" msys-rsync"
  3. 安装Vagrant-plugin" vagrant-gatling-rsync"通过执行命令行中的命令vagrant plugin install vagrant-gatling-rsync
  4. 将第config.vm.synced_folder "./project/", "/project"行更改为第config.vm.synced_folder "./project/", "/project", type: "rsync"行(使用type: "rsync"延伸)
  5. vagrant up <!/ LI>

    现在,vagrant正在启动VM并按预期安装该文件夹。一旦对项目进行更改,gatling-plugin就会使文件夹保持同步。

    如果您不需要同时进行同步,则可以在Vagrantfile中使用一行禁用此功能:config.gatling.rsync_on_startup = false并通过在命令行中执行以下命令手动启动同步过程:{ {1}}