-
Notifications
You must be signed in to change notification settings - Fork 11
Expand file tree
/
Copy pathVagrantfile
More file actions
72 lines (61 loc) · 2.23 KB
/
Vagrantfile
File metadata and controls
72 lines (61 loc) · 2.23 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
VAGRANTFILE_API_VERSION = "2"
Vagrant.require_version ">= 1.6.3"
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
config.vm.define "default", autostart: false do |default|
default.vm.box = "yungsang/boot2docker"
default.vm.network "private_network", ip: "192.168.33.10"
default.vm.synced_folder ".", "/var/www", type: "nfs"
default.vm.provider "virtualbox" do |virtualbox|
virtualbox.memory = 2048
end
default.vm.provision "docker" do |docker|
docker.build_image "/var/www/config/environment/docker/nginx", args: "-t vagrantdocker/nginx"
docker.build_image "/var/www/config/environment/docker/phpfpm", args: "-t vagrantdocker/phpfpm"
end
default.ssh.insert_key = false
default.ssh.username = "docker"
default.ssh.password = "tcuser"
end
##
# A pretty simple scenario. The following is the simplest Docker container that could work. The application is
# composed of only a single container
##
config.vm.define "php", autostart: false do |php|
php.vm.provider "docker" do |docker|
docker.image = "php:5.6-cli"
docker.volumes = %w(/var/www:/var/www)
docker.ports = %w(80:80)
docker.cmd = %w(php -S 0.0.0.0:80 -t /var/www/public/ /var/www/public/index.php)
docker.vagrant_vagrantfile = __FILE__
end
end
##
# A more complex scenario. The application is composed of three containers: app, nginx and phpfpm
##
config.vm.define "app" do |app|
app.vm.provider "docker" do |docker|
docker.image = "debian"
docker.name = "app"
docker.volumes = %w(/var/www:/var/www)
docker.vagrant_vagrantfile = __FILE__
docker.remains_running = false
end
end
config.vm.define "phpfpm" do |phpfpm|
phpfpm.vm.provider "docker" do |docker|
docker.image = "vagrantdocker/phpfpm"
docker.create_args = %w(--volumes-from="app")
docker.name = "phpfpm"
docker.vagrant_vagrantfile = __FILE__
end
end
config.vm.define "nginx" do |nginx|
nginx.vm.provider "docker" do |docker|
docker.image = "vagrantdocker/nginx"
docker.create_args = %w(--volumes-from="app")
docker.ports = %w(80:80)
docker.link "phpfpm:phpfpm"
docker.vagrant_vagrantfile = __FILE__
end
end
end