Управління virtualbox з консолі за допомогою vboxmanage, записки програміста

Такі рішення, як LXC і KVM. не завжди зручні, тому що вони працюють тільки під Linux. Використовуючи їх, ви не можете передати виртуалки користувачам якихось MacOS або Windows. З цієї причини, а також тому що на практиці у мене ще не виникало необхідності запускати більше п'яти ВМ одночасно, я все ще вважаю за краще VirtualBox. Їм можна управляти з консолі за допомогою Vagrant. але Vagrant завжди робив трохи не те, що мені насправді було потрібно. Наприклад, я хочу, щоб по дефолту все виртуалки завжди були в одній NAT-мережі, без будь-якої правки Vagrantfile'ов. Все це спонукало мене до вивчення «рідних» утиліт VirtualBox, зокрема, vboxmanage.







Давайте ж подивимося, як все, що ви коли-небудь можете захотіти від віртуалок, робиться за допомогою vboxmanage.

vboxmanage list systemproperties

Зміна налаштувань, наприклад, шляхи до каталогу, гда зберігаються виртуалки:

vboxmanage setproperty machinefolder / home / eax / virtualbox

Список підтримуваних типів віртуалок:







vboxmanage list ostypes
vboxmanage list ostypes | egrep ^ ID

Створюємо нову виртуалку:

vboxmanage createvm --name ubuntu1604 --ostype Ubuntu_64 --register

Міняємо параметри ВМ - вказуємо кількість пам'яті і тд:

vboxmanage modifyvm ubuntu1604 --cpus 1 --memory 512 --audio none \
--usb off --acpi on --boot1 dvd --nic1 nat

Створюємо жорсткий диск розміром 10 Гб (місце по дефолту НЕ преаллоціруется):

vboxmanage createhd \
--filename / home / eax / virtualbox / ubuntu1604 / ubuntu1604.vdi \
--size 10000

Чіпляємо створений жорсткий диск до виртуалке:

vboxmanage storagectl ubuntu1604 --name ide-controller --add ide
vboxmanage storageattach ubuntu1604 --storagectl ide-controller \
--port 0 --device 0 --type hdd \
--medium / home / eax / virtualbox / ubuntu1604 / ubuntu1604.vdi

Чіпляємо до ВМ ISO-образ, з якого буде відбуватися установка системи:

vboxmanage storageattach ubuntu1604 --storagectl ide-controller \
--port 0 --device 1 --type dvddrive \
--medium / home / eax / data / iso / ubuntu-16.04.1-server-amd64.iso

Включаємо доступ до ВМ по VNC:

vboxmanage modifyvm ubuntu1604 --vrde on
vboxmanage modifyvm ubuntu1604 --vrdeaddress 127.0.0.1
vboxmanage modifyvm ubuntu1604 --vrdeport 3001
vboxmanage modifyvm ubuntu1604 --vrdeproperty VNCPassword = "secret"

Я особисто для підключення використовую TigerVNC (форк TightVNC):

vncviewer localhost: 3001

Щоб кожного разу не вводити пароль, можна сказати:







Схожі статті