stream浪者:使用提供者和提供togather
这是我的主要stream浪文件
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不起作用
是的,它不工作,因为它不是一个有效的Vagrantfile。
你基本上已经指示vagrant使用主VM,所以从主Vagrantfile,你告诉vagrant去查看另一个Vagrantfile来了解主机VM(运行docker的主VM)的configuration,所以至less你需要一个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
这将创build一个基于Ubuntu的trusty64的虚拟机(我确保安装最新版本的docker,所以docker提供者的主Vagrantfile将能够正常运行)
在这种情况下,我可以看到我的内联shellconfiguration正在运行,docker规定将安装docker,然后docker主提供程序将在此VM上提取映像
- 为什么Tensorflow在尝试运行标准的tensorflow docker镜像时没有bash命令会产生笔记本encryption警告?
- Docker在Windows 10启动:数据库表和绑定目录正在消失
- 用Django项目在Docker中创buildpostgresql数据库
- 无法在Docker容器中打开Firefox
- 如何创build在Ubuntu容器中安装Python 3和nltk的Dockerfile?
- 如何通过maven从可运行图像部署到Google云端平台?
- 相同的docker图像适用于Windows的Docker,但不适用于Linux上的docker
- 如何获得dockerregistryv2的图像列表
- docker与领事群