User Tools

Site Tools


технология_vagrant

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Next revision Both sides next revision
технология_vagrant [2022/08/17 15:16]
val
технология_vagrant [2022/09/28 06:52]
val [Технология Vagrant]
Line 1: Line 1:
 ====== Технология Vagrant ====== ====== Технология Vagrant ======
 +
 +  * [[https://​ru.wikipedia.org/​wiki/​Vagrant|HashiCorp Vagrant]]
  
   * [[https://​www.vagrantup.com/​|Vagrant - Development Environments Made Easy]]   * [[https://​www.vagrantup.com/​|Vagrant - Development Environments Made Easy]]
Line 11: Line 13:
 ===== Установка ===== ===== Установка =====
  
-  * [[https://​val.bmstu.ru/​unix/​HashiCorp/​vagrant_2.2.10_x86_64.msi]]+  * [[https://​val.bmstu.ru/​unix/​HashiCorp/​vagrant_2.2.10_x86_64.msi]] ​ 
 +  * Можно не перезагружать систему,​ но нужно перезапустить Cmder
  
 ===== Подготовка командной строки ===== ===== Подготовка командной строки =====
  
-==== win cmd === 
  
-<​code>​ 
-C:​\Users\Administrator>​ C:​\HashiCorp\Vagrant\bin\vagrant.exe 
-</​code>​ 
  
 ==== Cmder ==== ==== Cmder ====
  
   * [[Cmder]]   * [[Cmder]]
- 
 <​code>​ <​code>​
-λ alias vagrant=C:​\HashiCorp\Vagrant\bin\vagrant.exe $* 
- 
 λ bash λ bash
  
-$ alias vagrant=C:/​\HashiCorp/​\Vagrant/​\bin/​\vagrant.exe $* +λ cd
-или +
-$ alias vagrant=/​c/​HashiCorp/​Vagrant/​bin/​vagrant.exe+
 </​code>​ </​code>​
  
-==== mobaxterm ==== +
-<​code>​ +
-mobaxterm>​ alias vagrant=/​drives/​c/​HashiCorp/​Vagrant/​bin/​vagrant.exe $* +
-</​code>​+
  
  
Line 45: Line 36:
   * [[https://​oracle-base.com/​articles/​vm/​create-a-vagrant-base-box-virtualbox|Create a Vagrant Base Box (VirtualBox)]] + [[https://​bbs.archlinux.org/​viewtopic.php?​id=270005|[SOLVED] Latest sshd not accepting key algorithms]]   * [[https://​oracle-base.com/​articles/​vm/​create-a-vagrant-base-box-virtualbox|Create a Vagrant Base Box (VirtualBox)]] + [[https://​bbs.archlinux.org/​viewtopic.php?​id=270005|[SOLVED] Latest sshd not accepting key algorithms]]
   * [[https://​vagrantcloud.com/​debian/​bullseye64]]   * [[https://​vagrantcloud.com/​debian/​bullseye64]]
 +
 +  * [[https://​val.bmstu.ru/​unix/​HashiCorp/​ubuntu_20.04.box]]
 +
 +  * [[Переменные окружения]]
 +  * [[https://​stackoverflow.com/​questions/​19872591/​how-to-use-vagrant-in-a-proxy-environment|How to use vagrant in a proxy environment?​]]
  
 <​code>​ <​code>​
Line 58: Line 54:
  
 $ vagrant box list $ vagrant box list
 +
 +$ ### vagrant box remove specialist/​ubuntu20
 </​code>​ </​code>​
  
Line 80: Line 78:
 $ vagrant global-status $ vagrant global-status
  
-$ vagrant ​halt+$ vagrant ​global-status --prune
  
-$ vagrant destroy+### vagrant halt 
 + 
 +$ ### vagrant destroy
 </​code>​ </​code>​
  
Line 165: Line 165:
  
 <​code>​ <​code>​
-λ npp provision_once.sh ​&+λ touch provision_once.sh
 </​code><​code>​ </​code><​code>​
-#sed -i '​s/​PasswordAuthentication no/​PasswordAuthentication yes/g' /​etc/​ssh/​sshd_config 
 #echo '​root:​strongpassword'​ | chpasswd #echo '​root:​strongpassword'​ | chpasswd
 +#sed -i '​s/​PasswordAuthentication no/​PasswordAuthentication yes/g' /​etc/​ssh/​sshd_config
 +#service ssh restart
  
 echo '​vagrant:​strongpassword'​ | chpasswd echo '​vagrant:​strongpassword'​ | chpasswd
 +
 +(echo '"​\e[A":​ history-search-backward';​ echo '"​\e[B":​ history-search-forward'​) >> /​etc/​inputrc
  
 timedatectl set-timezone Europe/​Moscow timedatectl set-timezone Europe/​Moscow
  
-apt-get update +apt update 
-#apt-get install -y net-tools+#apt install -y docker.io
 </​code><​code>​ </​code><​code>​
-λ npp provision_onstart.sh ​&+λ touch provision_onstart.sh
 </​code><​code>​ </​code><​code>​
 X=$1 X=$1
Line 193: Line 196:
 echo "​net.ipv4.ip_forward=1"​ > /​etc/​sysctl.d/​20-my-forward.conf && sysctl -p --system echo "​net.ipv4.ip_forward=1"​ > /​etc/​sysctl.d/​20-my-forward.conf && sysctl -p --system
 </​code><​code>​ </​code><​code>​
-λ npp Vagrantfile+λ cat Vagrantfile
 </​code><​code>​ </​code><​code>​
 ... ...
Line 199: Line 202:
  
   config.vm.provision "​provision_once",​ type: "​shell",​ run: "​once",​ path: "​provision_once.sh"​   config.vm.provision "​provision_once",​ type: "​shell",​ run: "​once",​ path: "​provision_once.sh"​
 +
   config.vm.provision "​provision_onstart",​ type: "​shell",​ run: "​always", ​   config.vm.provision "​provision_onstart",​ type: "​shell",​ run: "​always", ​
     args: X + " 2_arg 3_arg", ​     args: X + " 2_arg 3_arg", ​
Line 218: Line 222:
 λ cat Vagrantfile λ cat Vagrantfile
 ... ...
-  config.vm.provision "​provision_docker",​ type: "​ansible_local",​ run: "always" do |ansible|+  config.vm.provision "​provision_docker",​ type: "​ansible_local",​ run: "once" do |ansible|
     ansible.playbook = "​provision_docker.yml"​     ansible.playbook = "​provision_docker.yml"​
   end   end
 ... ...
 </​code><​code>​ </​code><​code>​
-$ vagrant provision --provision-with provision_docker+time vagrant provision --provision-with provision_docker 
 +real    11m2,127s
 </​code>​ </​code>​
  
Line 232: Line 237:
  
 <​code>​ <​code>​
-λ mkdir ~/nodes+λ vagrant destroy
  
-λ cd ~/nodes +λ touch nodes.yaml
- +
-λ npp nodes.yaml ​&+
 </​code><​code>​ </​code><​code>​
 - name: "​node1"​ - name: "​node1"​
Line 276: Line 279:
 ... ...
 </​code><​code>​ </​code><​code>​
 +λ ### cd ~/​conf/​vagrant/​nodes ​ #!!! set X in Vagrantfile
 +
 λ vagrant up node1 λ vagrant up node1
  
 λ vagrant up λ vagrant up
 +
 +λ vagrant up --parallel
  
 λ vagrant ssh node2 λ vagrant ssh node2
  
-λ vagrant destroy ​node3+λ ### vagrant destroy ​node1
  
-λ vagrant destroy -f+λ ### vagrant destroy -f
 </​code>​ </​code>​
  
технология_vagrant.txt · Last modified: 2024/04/09 16:59 by val