这是我的主文件
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"
enddev/app7/Vagrantfile文件不工作
发布于 2017-07-03 07:38:27
dev/app7/Vagrantfile文件不工作
是的,它不能工作,因为它不是一个有效的Vagrantfile文件。
基本上,您已经指示流浪者使用主机VM,所以从主要的Vagrantfile中,您要让流浪者查看另一个Vagrantfile,以了解主机VM (将运行停靠程序的主机VM )的配置,因此至少需要有一个config.vm.box设置,它将成为此VM的基础框。
主机VM Vagrantfile的一个示例将是
# -*- 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主提供程序将在此VM上提取映像之后。
https://stackoverflow.com/questions/44859890
复制相似问题