流浪者:使用提供者和供应来收集



这是我的主要流浪者文件

Vagrant.configure(2) do |config|
  config.vm.define "app7" do |app7|
    app7.vm.synced_folder "/home/behrad/dunro","/var/www/html"
    app7.vm.network "forwarded_port", id: "ssh", guest: 22, host: 2222, auto_correct: true
    app7.vm.provider "docker" do |docker|
      docker.vagrant_vagrantfile = "dev/app7/Vagrantfile"
      docker.build_dir = "./dev/app7"
      docker.build_args = "-t","dunro/app7:20170701"
      docker.name = "app7"
      docker.ports = ['80:80']
      docker.has_ssh = true
    end
  end
end

和 dev/app7/vagrantfile

Vagrant.configure(2) do |config|
  config.vm.hostname = "app7"
  config.vm.provision "file", source: "keys/id_rsa.pub", destination: "/var/www/.ssh/authorized_keys"
  config.ssh.username = "www-data"                                 
  config.ssh.private_key_path = "keys/id_rsa"  
end

dev/app7/Vagrantfile 不起作用

dev/app7/Vagrantfile 不起作用

是的,它不起作用,因为它不是有效的流浪文件。

您基本上已经指示vagrant使用主机VM,因此从主Vagrantfile中,您告诉vagrant查看另一个Vagrantfile以了解主机VM(将运行docker的主机VM(的配置,因此至少您需要有一个config.vm.box设置,该设置将成为此VM 的基本框

主机虚拟机无序文件的示例将是

# -*- mode: ruby -*-
# vi: set ft=ruby :
Vagrant.configure(2) do |config|
  config.vm.box = "ubuntu/trusty64"
  config.vm.hostname = "app7"
  config.vm.provision "shell", inline: "echo Hello, World"
  # make sure to have docker installed on this VM
  config.vm.provision "docker"
  config.vm.network :forwarded_port, guest: 80, host: 4567
end

这将创建一个基于 ubuntu trusty64 的 VM(我确保安装最新版本的 docker,以便带有 docker 提供程序的主 Vagrantfile 能够正常运行(

在这种情况下,我可以看到我的内联 shell 预配正在运行,docker 预配将安装 docker,然后在 docker 主提供程序将在此 VM 上拉取映像

相关内容

  • 没有找到相关文章

最新更新