我一直开始搞乱流浪汉和AWS。但是,我想在我流浪的时候创建容器,并希望将我的项目设置为使用此AWS服务器作为主机的docker项目。
我设法在使用虚拟框并指定docker.vagrant_vagrantfile = "host/Vagrantfile"
时使用此功能但是当我将AWS作为主机执行相同操作时它似乎无法工作,因为看起来docker仍在尝试在本地创建而不是在主机上。
这就是我的项目设置测试方法。我有一个主文件夹vagrant_docker_aws,里面我有一个名为host的文件夹,其中包含我的主机' vagrantfile然后在vagrant_docker_aws的根目录中我有一个带有指定容器的vagrantfile。此设置在本地工作。
这是我的主机/ Vagrantfile的样子。我在使用cygwin和rsync的Windows上。
# -*- mode: ruby -*-
# vi: set ft=ruby :
ENV["VAGRANT_DETECTED_OS"] = ENV["VAGRANT_DETECTED_OS"].to_s + " cygwin"
Vagrant.configure(2) do |config|
config.vm.box = "dummy"
config.vm.provider :aws do |aws, override|
aws.access_key_id = ""
aws.secret_access_key = ""
aws.instance_type = "t2.micro"
aws.keypair_name = "dev"
aws.region = ""
aws.security_groups = [""]
aws.associate_public_ip = true
aws.availability_zone = ""
aws.subnet_id =""
aws.ami = "ami-b95d04da"
override.ssh.username = "ubuntu"
override.ssh.private_key_path = ""
end
config.vm.provision "docker"
end
这就是vagrant_docker_aws根目录中的vagrant文件。
# -*- mode: ruby -*-
# vi: set ft=ruby :
Vagrant.configure(2) do |config|
config.vm.provider "docker" do |docker|
docker.vagrant_vagrantfile = "host/Vagrantfile"
end
config.vm.define "nginx-01" do |nginx|
# can include settings for container such as disabling shared folders using nginx
nginx.vm.provider "docker" do |docker|
docker.image = "nginx"
docker.ports = ['80:80', '443:443']
docker.name = 'nginx-container'
end
end
config.vm.define "postgres-01" do |postgres|
# can include settings for container such as disabling shared folders using postgres
postgres.vm.provider "docker" do |docker|
docker.image = "postgres"
docker.ports = ['5432:5432']
docker.name = 'postgres-container'
end
end
end
基本上这是当我从vagrant_aws_docker里面运行vagrant时会发生什么的一个例子。
D:\Projects\vagrant_docker_aws>vagrant up --no-parallel
Bringing machine 'nginx-01' up with 'docker' provider...
Bringing machine 'postgres-01' up with 'docker' provider...
==> nginx-01: Docker host is required. One will be created if necessary...
nginx-01: Vagrant will now create or start a local VM to act as the Docker
nginx-01: host. You'll see the output of the `vagrant up` for this VM below.
nginx-01:
我不是100%确定这是否可能/一个好主意(如果不是为什么?),但如果有人有任何想法,我将不胜感激。
注意:我知道我不应该将我的AWS凭证粘贴到文件中,而是使用ENV变量,但我现在只想让它工作。