Prošli jsme polovinou této série a v této době už možná dobře rozumíte tomu, co Vagrant dělá a jak používat provizory ve vagrant.
Doposud používáte předem sestavené vagrant boxy stažené z webu vagrant cloud. Některé krabice jsou předkonfigurovány tak, aby sloužily různým účelům, jako je scotch box, který je dodáván s LAMP stack, trusty64cdh, který přichází s distribucí CDH Hadoop s jedním uzlem. Můžete si také vytvořit svůj box, jako je ten zmíněný, a sdílet ho s komunitou nebo s ostatními geeky, kteří s vámi pracují na stejném projektu.
Zde jsou dva způsoby, jak vytvořit tulákovou krabici. Můžete si vybrat jakýkoli hypervizor a ručně nainstalovat hostující operační systém, zpevnit operační systém a poté jej zabalit do krabicového formátu. Případně si můžete stáhnout krabice, které jsou již k dispozici ve vagrantském cloudu, upravit je podle svých požadavků a přebalit je do formátu krabice. To je docela snadné ve srovnání se stavbou krabice od začátku.
Vytvoření nové krabice tuláků
1. Vyberte pole, které bude použito. V mém případě stahuji box ubuntu/focal64. Vytvořte nový adresář a spusťte vagrant init příkaz.
$ mkdir ubuntu $ cd rebuild $ vagrant init -m "ubuntu/focal64"
2. Vyvolejte virtuální počítač spuštěním vagrant init příkaz.
$ vagrant init
3. Připojte se k virtuálnímu počítači hosta pomocí:
$ vagrant ssh
Povolit založené na hesle autentizace v případě potřeby, ve výchozím nastavení je zakázána.
$ sudo sed -i "/^[^#]*PasswordAuthentication[[:space:]]no/c\PasswordAuthentication yes" /etc/ssh/sshd_config $ sudo service sshd restart
4. Chci nainstalovat PostgreSQL na tomto virtuálním počítači a přebalte jej.
$ sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list' $ wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add - $ sudo apt-get update $ sudo apt-get -y install postgresql
Přepnout jako Postgres uživatele a zadejte psql
pro připojení ke skořápce. Nyní, pokud vše půjde dobře, je instalace úspěšná.
$ sudo su - postgres $ psql
5. Před opětovným zabalením krabice musíme vynulovat základní jednotku, abychom dosáhli lepší komprese.
$ sudo dd if=/dev/zero of=/EMPTY bs=1M $ sudo rm -f /EMPTY
Vytvořte nový Vagrant Box pomocí existujícího Vagrant Box
6. Vytvořte nový box ze stávajícího virtuálního počítače spuštěním následujícího příkazu.
$ vagrant package --output ubuntu_repacked.box
7. Podívejte se na obrázek výše, kde můžete vidět vytvoření nového boxu „ubuntu_repacked.box “. Nyní je třeba toto pole přidat do vagrantu k importu.
$ vagrant box add repacked ubuntu_repacked.box
8. Nyní mohu použít toto pole a roztočit nový hostující virtuální stroj. Vytvořte nový projektový adresář a proveďte vágantní init .
$ mkdir repacked $ cd repacked $ vagrant init -m "repacked" $ vagrant up
Z obrázku výše můžete vidět, že importuje přebalenou krabici, kterou jsme vytvořili. Připojte se k virtuálnímu počítači a spusťte psql
příkaz pro práci s PostgreSQL.
$ vagrant ssh $ sudo su - postgres $ psql
Dostali jsme se na konec tohoto článku. Ukázal jsem vám, jak vytvořit krabici ze stávající krabice tuláků. V tomto příkladu jsem vám ukázal, jak nainstalovat PostgreSQL do krabice vagrant. Případem použití v reálném čase může být cokoliv a tento proces bude velmi užitečný.