Инструменты пользователя

Инструменты сайта


service:vagrant

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Следующая версия
Предыдущая версия
service:vagrant [26.08.2022 07:41] – создано viacheslavservice:vagrant [30.07.2024 19:21] (текущий) – внешнее изменение 127.0.0.1
Строка 1: Строка 1:
 +====== Vagrant ======
 +Оболочка, управляющая системами виртуализации.
  
 +Бокс (box) - образ Vagrant (https://app.vagrantup.com/boxes/search).
 +
 +Установка - https://www.vagrantup.com/docs/installation
 +
 +===== Cоздание VM =====
 +<code bash>
 +mkdir -p vagrant
 +cd vagrant 
 +# Инициализация, создание конфига (Vagrantfile), скачивание образа
 +vagrant init generic/ubuntu2204
 +# Создался Vagrantfile с примерно таким содержимым:
 +Vagrant.configure("2") do |config|
 +  config.vm.box = "generic/ubuntu2204"
 +end
 +# Запустить ВМ, атрибут - провайдер:
 +vagrant up --provider=hyperv
 +# Статус
 +vagrant status
 +# Логин с помощью vagrant ssh. Пароль для sudo — vagrant
 +# Удалить ВМ
 +vagrant destroy -f
 +</code>
 +Команды Vagrant - https://www.vagrantup.com/docs/cli
 +
 +Параметры ВМ
 +<code bash>
 +config.vm.provider "hyperv" do |v|
 +     v.memory=4096
 +    v.cpus=4 end`
 +end
 +</code>
 +https://www.vagrantup.com/docs/providers/hyperv/configuration
 +
 +===== Настройка программ внутри VM (provision) =====
 +Обычный скрипт на языке оболочки.
 +<file bash bootstrap.sh>
 +apt update
 +apt install nginx -y
 +systemctl enable nginx
 +systemctl start nginx 
 +</file>
 +
 +В Vagrantfile нужно сослаться на provision file:
 +<code bash>
 +config.vm.provision "shell", path: "bootstrap.sh" 
 +</code>
 +https://www.vagrantup.com/docs/provisioning/shell
 +
 +Проброс порта
 +<code bash>
 +Vagrant.configure("2") do |config|
 +  config.vm.network "forwarded_port", guest: 80, host: 8080
 +end
 +</code>
 +https://www.vagrantup.com/docs/networking/forwarded_ports
 +
 +<code bash>
 +# Запустить
 +vagrant up
 +# Или применить изменения, если уже запущено
 +vagrant reload --provision
 +</code>

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki