author | Oleksandr Gavenko <gavenkoa@gmail.com> |
Sun, 09 Dec 2018 11:57:43 +0200 | |
changeset 2291 | a49f3423eb55 |
parent 2272 | 46e6d01a6e3f |
child 2301 | a99f277a9eae |
permissions | -rw-r--r-- |
2197
5ee52f8d25b5
Changing Vagrant home directory.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff
changeset
|
1 |
|
5ee52f8d25b5
Changing Vagrant home directory.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff
changeset
|
2 |
========= |
5ee52f8d25b5
Changing Vagrant home directory.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff
changeset
|
3 |
Vagrant |
5ee52f8d25b5
Changing Vagrant home directory.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff
changeset
|
4 |
========= |
5ee52f8d25b5
Changing Vagrant home directory.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff
changeset
|
5 |
|
5ee52f8d25b5
Changing Vagrant home directory.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff
changeset
|
6 |
Changing Vagrant home directory |
5ee52f8d25b5
Changing Vagrant home directory.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff
changeset
|
7 |
=============================== |
5ee52f8d25b5
Changing Vagrant home directory.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff
changeset
|
8 |
|
5ee52f8d25b5
Changing Vagrant home directory.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff
changeset
|
9 |
Set ``VAGRANT_HOME`` env var, like:: |
5ee52f8d25b5
Changing Vagrant home directory.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff
changeset
|
10 |
|
5ee52f8d25b5
Changing Vagrant home directory.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff
changeset
|
11 |
VAGRANT_HOME=d:\srv\vagrant |
5ee52f8d25b5
Changing Vagrant home directory.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff
changeset
|
12 |
|
5ee52f8d25b5
Changing Vagrant home directory.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff
changeset
|
13 |
Default is ``~/.vagrant.d`` for Linux and ``%USERPROFILE%\.vagrant.d`` for Windows. |
5ee52f8d25b5
Changing Vagrant home directory.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff
changeset
|
14 |
|
5ee52f8d25b5
Changing Vagrant home directory.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff
changeset
|
15 |
https://www.vagrantup.com/docs/other/environmental-variables.html |
2271 | 16 |
Environmental Variables. ``VAGRANT_HOME``. |
17 |
https://www.vagrantup.com/docs/vagrantfile/ |
|
18 |
Load Order and Merging. |
|
2197
5ee52f8d25b5
Changing Vagrant home directory.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff
changeset
|
19 |
|
2272 | 20 |
Managing names |
21 |
============== |
|
22 |
||
23 |
Vagrant VM name:: |
|
24 |
||
25 |
config.vm.define "NAME" |
|
26 |
||
27 |
VirtualBox name:: |
|
28 |
||
29 |
config.vm.provider :virtualbox do |vb| |
|
30 |
vb.name = "NAME" |
|
31 |
end |
|
32 |
||
33 |
Host name:: |
|
34 |
||
35 |
config.vm.hostname = "NAME" |
|
36 |
||
2291
a49f3423eb55
Managing resources.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
2272
diff
changeset
|
37 |
Managing resources |
a49f3423eb55
Managing resources.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
2272
diff
changeset
|
38 |
================== |
a49f3423eb55
Managing resources.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
2272
diff
changeset
|
39 |
|
a49f3423eb55
Managing resources.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
2272
diff
changeset
|
40 |
https://unix.stackexchange.com/questions/176687/set-storage-size-on-creation-of-vm-virtualbox |
a49f3423eb55
Managing resources.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
2272
diff
changeset
|
41 |
https://askubuntu.com/questions/317338/how-can-i-increase-disk-size-on-a-vagrant-vm |
a49f3423eb55
Managing resources.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
2272
diff
changeset
|
42 |
https://stackoverflow.com/questions/49822594/vagrant-how-to-specify-the-disk-size |
a49f3423eb55
Managing resources.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
2272
diff
changeset
|
43 |
https://github.com/sprotheroe/vagrant-disksize |
a49f3423eb55
Managing resources.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
2272
diff
changeset
|
44 |
|
2237 | 45 |
Managing boxes |
46 |
============== |
|
47 |
||
48 |
Adding new box from catalog:: |
|
49 |
||
50 |
$ vagrant box add ubuntu/trusty64 |
|
51 |
||
52 |
Checking for box updates:: |
|
53 |
||
54 |
$ cd $BOXDIR |
|
55 |
$ vagrant box outdated |
|
56 |
||
2238 | 57 |
or:: |
58 |
||
59 |
$ vagrant box outdated --global |
|
60 |
||
2237 | 61 |
Disable checking for update each time you call ``vagrant`` command:: |
62 |
||
63 |
Vagrant.configure("2") do |config| |
|
64 |
config.vm.box_check_update = false |
|
65 |
end |
|
66 |
||
67 |
Download box update:: |
|
68 |
||
69 |
$ vagrant box update |
|
70 |
||
71 |
.. note:: |
|
72 |
``vagrant box update`` does not magicall updates your existing boxes. In just download |
|
73 |
updated versions. To install new versio you need to destroy and install new boxes:: |
|
74 |
||
75 |
$ vagrant destroy |
|
76 |
$ vagrant up |
|
77 |
||
78 |
To remove box at specific version:: |
|
79 |
||
80 |
$ vagrant box remove laravel/homestead --box-version 1.1.0 |
|
81 |
||
2259 | 82 |
To get list of boxes with corresponding versions:: |
83 |
||
84 |
$ vagrant box list |
|
85 |
$ vagrant global-status |
|
86 |
||
2237 | 87 |
https://www.vagrantup.com/docs/cli/box.html |
88 |
Command: ``vagrant box``. |
|
89 |
https://www.vagrantup.com/docs/boxes/versioning.html |
|
90 |
Box Versioning. |
|
91 |
||
2238 | 92 |
Managing plugins |
93 |
================ |
|
94 |
||
95 |
https://www.vagrantup.com/docs/cli/plugin.html |
|
96 |
Command: ``vagrant plugin``. |
|
97 |
https://github.com/hashicorp/vagrant/wiki/Available-Vagrant-Plugins |
|
98 |
List of vagrant plugins. |
|
99 |
||
2259 | 100 |
Debugging Vagrant |
101 |
================= |
|
102 |
||
103 |
Add environment variavle:: |
|
104 |
||
105 |
VAGRANT_LOG=warn vagrant ssh |
|
106 |
VAGRANT_LOG=info vagrant ssh |
|
107 |
VAGRANT_LOG=debug vagrant ssh |
|
108 |
||
2271 | 109 |
https://www.vagrantup.com/docs/other/environmental-variables.html |
110 |
Environmental Variables. ``VAGRANT_LOG``. |
|
111 |
||
2201
af2d2e117b4e
Running individual provisioning scripts.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
2197
diff
changeset
|
112 |
Running individual provisioning scripts |
af2d2e117b4e
Running individual provisioning scripts.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
2197
diff
changeset
|
113 |
======================================= |
af2d2e117b4e
Running individual provisioning scripts.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
2197
diff
changeset
|
114 |
|
af2d2e117b4e
Running individual provisioning scripts.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
2197
diff
changeset
|
115 |
You may give name to provisioning script:: |
af2d2e117b4e
Running individual provisioning scripts.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
2197
diff
changeset
|
116 |
|
af2d2e117b4e
Running individual provisioning scripts.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
2197
diff
changeset
|
117 |
Vagrant.configure("2") do |config| |
af2d2e117b4e
Running individual provisioning scripts.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
2197
diff
changeset
|
118 |
config.vm.provision 'user_ssh', type: :shell, privileged: false do |s| |
af2d2e117b4e
Running individual provisioning scripts.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
2197
diff
changeset
|
119 |
ssh_pub_key = File.readlines("#{Dir.home}/.ssh/id_rsa.pub").first.strip |
af2d2e117b4e
Running individual provisioning scripts.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
2197
diff
changeset
|
120 |
s.inline = "echo #{ssh_pub_key} >> /home/$USER/.ssh/authorized_keys" |
af2d2e117b4e
Running individual provisioning scripts.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
2197
diff
changeset
|
121 |
end |
af2d2e117b4e
Running individual provisioning scripts.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
2197
diff
changeset
|
122 |
config.vm.provision 'root_ssh', type: :shell, privileged: true do |s| |
af2d2e117b4e
Running individual provisioning scripts.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
2197
diff
changeset
|
123 |
ssh_pub_key = File.readlines("#{Dir.home}/.ssh/id_rsa.pub").first.strip |
af2d2e117b4e
Running individual provisioning scripts.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
2197
diff
changeset
|
124 |
s.inline = "mkdir /root/.ssh/; echo #{ssh_pub_key} >> /root/.ssh/authorized_keys" |
af2d2e117b4e
Running individual provisioning scripts.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
2197
diff
changeset
|
125 |
end |
af2d2e117b4e
Running individual provisioning scripts.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
2197
diff
changeset
|
126 |
... |
af2d2e117b4e
Running individual provisioning scripts.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
2197
diff
changeset
|
127 |
end |
af2d2e117b4e
Running individual provisioning scripts.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
2197
diff
changeset
|
128 |
|
af2d2e117b4e
Running individual provisioning scripts.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
2197
diff
changeset
|
129 |
and apply them individually:: |
af2d2e117b4e
Running individual provisioning scripts.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
2197
diff
changeset
|
130 |
|
af2d2e117b4e
Running individual provisioning scripts.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
2197
diff
changeset
|
131 |
vagrant provision --provision-with user_ssh |
af2d2e117b4e
Running individual provisioning scripts.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
2197
diff
changeset
|
132 |
vagrant provision --provision-with root_ssh |
af2d2e117b4e
Running individual provisioning scripts.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
2197
diff
changeset
|
133 |
vagrant provision --provision-with user_ssh,root_ssh |
af2d2e117b4e
Running individual provisioning scripts.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
2197
diff
changeset
|
134 |
|
2236
15e9cc9e054f
Working with Alpine Linux.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
2201
diff
changeset
|
135 |
Working with Alpine Linux |
15e9cc9e054f
Working with Alpine Linux.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
2201
diff
changeset
|
136 |
========================= |
15e9cc9e054f
Working with Alpine Linux.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
2201
diff
changeset
|
137 |
|
15e9cc9e054f
Working with Alpine Linux.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
2201
diff
changeset
|
138 |
Install plugin:: |
15e9cc9e054f
Working with Alpine Linux.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
2201
diff
changeset
|
139 |
|
15e9cc9e054f
Working with Alpine Linux.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
2201
diff
changeset
|
140 |
$ vagrant plugin install vagrant-alpine |
15e9cc9e054f
Working with Alpine Linux.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
2201
diff
changeset
|
141 |
Installing the 'vagrant-alpine' plugin. This can take a few minutes... |
15e9cc9e054f
Working with Alpine Linux.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
2201
diff
changeset
|
142 |
Installed the plugin 'vagrant-alpine (0.3.0)'! |
15e9cc9e054f
Working with Alpine Linux.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
2201
diff
changeset
|
143 |
|
15e9cc9e054f
Working with Alpine Linux.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
2201
diff
changeset
|
144 |
Create Vagrantfile:: |
15e9cc9e054f
Working with Alpine Linux.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
2201
diff
changeset
|
145 |
|
15e9cc9e054f
Working with Alpine Linux.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
2201
diff
changeset
|
146 |
$ vagrant init maier/alpine-3.6-x86_64 |
15e9cc9e054f
Working with Alpine Linux.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
2201
diff
changeset
|
147 |
|
15e9cc9e054f
Working with Alpine Linux.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
2201
diff
changeset
|
148 |
https://app.vagrantup.com/maier/boxes/alpine-3.6-x86_64 |
15e9cc9e054f
Working with Alpine Linux.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
2201
diff
changeset
|
149 |
AlpineLinux v3.6.2 with VirtualBoxGuestAdditions |
15e9cc9e054f
Working with Alpine Linux.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
2201
diff
changeset
|
150 |
https://app.vagrantup.com/maier |
15e9cc9e054f
Working with Alpine Linux.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
2201
diff
changeset
|
151 |
maier boxes. |
15e9cc9e054f
Working with Alpine Linux.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
2201
diff
changeset
|
152 |
https://github.com/maier/vagrant-alpine |
15e9cc9e054f
Working with Alpine Linux.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
2201
diff
changeset
|
153 |
Home page of ``vagrant-alpine`` plugin. |
15e9cc9e054f
Working with Alpine Linux.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
2201
diff
changeset
|
154 |
https://app.vagrantup.com/generic/boxes/alpine36 |
15e9cc9e054f
Working with Alpine Linux.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
2201
diff
changeset
|
155 |
Generic box. |
15e9cc9e054f
Working with Alpine Linux.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
2201
diff
changeset
|
156 |
https://app.vagrantup.com/generic/boxes |
15e9cc9e054f
Working with Alpine Linux.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
2201
diff
changeset
|
157 |
Generic boxes. |