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

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


service:vagrant

Vagrant

Оболочка, управляющая системами виртуализации.

Бокс (box) - образ Vagrant (https://app.vagrantup.com/boxes/search).

Установка - https://www.vagrantup.com/docs/installation

Cоздание VM

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

Команды Vagrant - https://www.vagrantup.com/docs/cli

Параметры ВМ

config.vm.provider "hyperv" do |v|
     v.memory=4096
    v.cpus=4 end`
end

https://www.vagrantup.com/docs/providers/hyperv/configuration

Настройка программ внутри VM (provision)

Обычный скрипт на языке оболочки.

bootstrap.sh
apt update
apt install nginx -y
systemctl enable nginx
systemctl start nginx 

В Vagrantfile нужно сослаться на provision file:

config.vm.provision "shell", path: "bootstrap.sh" 

https://www.vagrantup.com/docs/provisioning/shell

Проброс порта

Vagrant.configure("2") do |config|
  config.vm.network "forwarded_port", guest: 80, host: 8080
end

https://www.vagrantup.com/docs/networking/forwarded_ports

# Запустить
vagrant up
# Или применить изменения, если уже запущено
vagrant reload --provision
service/vagrant.txt · Последнее изменение: 30.07.2024 19:21 — 127.0.0.1

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki