Скитник

Урок за скитници

Урок за скитници
Vagrant е инструмент за управление на виртуални машини с помощта на прост интерфейс на командния ред. Предполага се, че ще направи целия процес чист и чист, без основната ви инсталация да бъде замърсена с тон конфигурационни файлове.Vagrant използва VirtualBox в бекенда, където се изпълняват виртуалните машини и ако отворите VirtualBox след инсталирането на няколко от тези Vagrant Boxes, ще видите, че има нови виртуални машини, които не са били там преди. Vagrant box е просто още един термин на виртуални машини, обработвани специално от тази програма, която обсъждаме.

Защо да се занимавам?

Hashicorp, компанията, която стои зад Vagrant, поддържа хранилище на много хора Скитни кутии които са предварително конфигурирани изображения на виртуални машини, от които можете да генерирате произволен брой виртуални машини локално. Той решава два проблема:

  1. Тъй като всеки започва с един и същ образ, разработчиците могат да се отърват от него Работи на моята машина извинение, когато определено приложение ще работи перфектно на една машина, но не и на друга. Всеки се развива на различни машини, но работи на точно същата конфигурация на виртуална машина.
  2. Не е необходимо да правите многократна инсталация на виртуални машини, ако решите да се отървете от старите. Vagrant се грижи за цялата инсталация и настройка на вашата виртуална машина. Всичко - от разпределяне на съхранение и памет до създаване на потребители за настройка на разрешения.

В много отношения той е подобен на изображенията на Docker и решава подобни проблеми, като ключовата разлика е, че използва виртуални машини вместо контейнери, което го прави, решително, по-тежка и по-бавна алтернатива. Виртуалните машини обаче идват със свои собствени предимства като по-добър мрежов стек и по-голяма гъвкавост по отношение на избора на файлова система и т.н., позволяващи на Vagrant да запълни определена ниша на преносимите виртуални машини.

Така че нека да започнем!

Предварителни условия

Първо и най-важно изискване е инсталирането на VirtualBox, след което трябва да инсталирате Vagrant. Ако вече имате инсталиран VirtualBox, просто вземете последния. Процесът на инсталиране може да се различава значително в зависимост от операционната система, която хостът ви изпълнява, затова ви приканвам да се консултирате с официалните документи за това:

  1. Вземете VirtualBox тук
  2. Вземете Vagrant тук

Освен това, ако използвате Windows, ще ви е необходим SSH клиент, може да искате да инсталирате Git Bash, който работи перфектно на Windows с опциите за инсталиране по подразбиране.

1.  Скитни кутии

Vagrant Box е терминът за виртуални машини, които се управляват от Vagrant. Можете да получите кутии Vagrant, които съдържат само операционната система като Ubuntu, CentOS и т.н. Или те могат да съдържат предварително конфигуриран LAMP стек, MEAN стек или друг софтуерен монтаж, който може да улесни процеса ви на разработка и тестване.

Например, ако пишете тема на WordPress, можете да получите кутия Vagrant с вече изпълнен ядро ​​WordPress. С тази виртуална машина можете да споделите папката на проекта, където имате съдържанието на вашата тема. Проверете дали новата тема работи както сте очаквали. След като приключите с темата, просто десторирайте полето, оставяйки само файловете на проекта, които сега знаете, че ще работят добре в реалния свят.

Можете да разгледате тези полета тук. Ще започнем с обикновен Ubuntu 16.04 LTS кутия. Можете да го видите в списъка като ubuntu / xenial64, ако посетите връзката по-горе.

Отворете терминала си и направете папка за вашите експерименти с Vagrant.

$ mkdir vagrant_box
$ cd vagrant_box

В тази папка можем да инициализираме нашата среда Vagrant, като стартираме:

$ vagrant init

Това поставя a Vagrantfile вътре в папката, която по същество представлява скрипт на Ruby, описващ конфигурацията на вашата кутия Vagrant. Не е нужно да познавате Ruby, за да използвате този файл, синтаксисът е доста прост. Ще обхващаме най-важното, докато вървим напред.

Сега можете да изпълните командата vagrant up и тъй като я изпълнявате за първи път, тя ще трябва да изтегли изображението на виртуалната машина от приложението.бродяга.com. В зависимост от вашата интернет връзка може да отнеме много време, но след като бъде изтеглена, следвайте скитник нагоре команди за подобни скитник init ubuntu / xenial64 няма да отнеме толкова време, защото изображението вече се запазва локално на вашия компютър. Уверете се, че сте в същата директория (vagrant_box), където Vagrantfile е поставен по-рано.

$ скитник нагоре

След като това приключи, можете ssh в полето като потребител скитник с права на root. Просто изпълнете следното:

$ vagrant ssh

поздравления! Току-що влязохте в първата си кутия Vagrant. Сега, когато започнахме, нека научим няколко основни команди на скитник, преди да се задълбочим във файла Vagrant. Просто напишете изход и натиснете за да излезете от терминала на VM. Бездомната кутия все още ще работи във фонов режим.

Обща команда Vagrant

Ако искате да спрете работещото поле, изпълнете командата:

$ vagrant стоп

За да рестартирате, можете да използвате vagrant up

Ако искате, можете също да използвате

$ vagrant суспендиране
$ vagrant резюме

Те ще спрат виртуалната машина и ще я върнат безопасно. Ако правите промени във файла Vagrant и искате промените да се покажат, използвайте командата:

$ vagrant презареждане

Не забравяйте да стартирате цялата команда от същата директория, където се намира вашият Vagrantfile. Можете да създадете по-скитни кутии, ако създавате нови директории другаде и стартирате скитническо иницииране  в тях. Ще ги управлявате от съответните им папки. Те могат да се основават на едно и също ubuntu / xenial изображение, което получихме по-рано, или можете да въведете още изображение.

За да изброите всички блуждаещи кутии и състоянието им (работещи или спрени), използвайте командата:

$ vagrant глобален статус

За да премахнете кутия без скитник и цялото й частно съдържание, изпълнете от директорията на кутията (където се намира съответният файл Vagrant):

$ vagrant унищожи

Базовото изображение, което сте изтеглили по-рано, все още ще съществува, ако по-късно искате да създадете нови полета. Ако искате да видите всички изображения, които са локално запазени, изпълнете:

$ vagrant списък с кутии

За да изтриете самото изображение на кутията, изпълнете:

$ vagrant box премахнете

След това ще трябва да изтеглите полето отново, ако възникне необходимост от него.

Проверка на Vagrantfile

На пръв поглед може да изглежда, че в Vagrantfile има много опции. Макар че това може да е истина, интересно е да се отбележи колко много можете да постигнете само с малко ощипване.

1.   Споделената папка

Повечето скитници се доставят с предварително конфигурирани споделени папки. Например, ако проверите Vagrantfile, който създадохме първия път, когато стартирахме скитническо иницииране ще забележите записа, който е коментиран ред,

# конфиг.vm.synced_folder "... / data", "/ vagrant"

Синхронизираната папка може да бъде достъпна както от бездомната кутия, така и от хост машината. Първият аргумент след конфиг.vm.synced_folder указва пътя към папката на хоста, а вторият аргумент указва пътя, където тази папка ще бъде монтирана в кутията на гостуващия скитник. По подразбиране папката, в която сте създали файла Vagrant, също се споделя с полето vagrant.

Нека проверим това, като ssh-ing в нашата скитническа кутия.

$ vagrant ssh

Тук избройте файловите системи.

$ df -h

Можете да видите, че има голяма файлова система скитник монтиран на / скитник път. Причината да е толкова голяма е, че папката Vagrantfile на моята хост машина е на дял, който е голям 632GB и папката там може да нарасне до този размер, както добре. Тъй като това е същата папка, която се споделя с кутията, тя предоставя безумно количество място за съхранение.

Можете да проверите съдържанието на / скитник и те са същите, които виждате на вашия хост, а именно един Vagrantfile и друг регистрационен файл.

Можете да добавите още споделена папка, където се появява коментарът, обясняващ синтаксиса на споделената папка.

Така,

В този случай папка с име SharedFolder се добавя, което е една директория по-горе, следователно двойната точка преди нея. Тази папка е монтирана / var / www / html  вътре в кутията. Тук повечето уеб сървъри като apache и nginx търсят уеб съдържанието, което искат да обслужват.

Можете просто да въведете вашите файлове на проекти, вашия html, css и js SharedFolder където работите върху него на вашата хост машина, използвайки графични текстови редактори като Atom и VSCode . Бездомната кутия ще действа като производствен сървър, който ще обслужва тези файлове.

Сега въпросът е как виждаме тези html файлове да се обслужват като уеб страница. Какво име на хост да въведете в браузъра?

2.   Работа в мрежа

По подразбиране vagrant предоставя някои полезни конфигурации. Заявката, изпратена от вашия браузър до localhost на порт 8080, се препраща към порт 80 на вашата бездомна кутия. Така че, ако имате уеб сървър, работещ на вашия скитник, който слуша на порт 80 (стандартен http порт), тогава можете да видите тази уеб страница, като посетите http: // localhost: 8080

От друга страна, може да искате да избегнете всички пренасочвания на портове localhost, в който случай можете да отворите Vagrantfile и да коментирате следния ред:

конфиг.vm.мрежа "private_network", ip: "192.168.33.10 "

Запазете направените промени и стартирайте скитническо презареждане за да рестартирате кутията с нова конфигурация. Сега той има специален частен ip адрес 192.168.33.10, до който само вашият домакин има достъп. Така че вече можете да отворите браузъра и да въведете http: // 192.168.33.10 и можете да видите уеб страниците, обслужвани на стандартния порт 80 на http.

Заключение

Както можете да видите, Vagrant може да ви помогне да стартирате приложенията си локално, тъй като те биха работили едновременно с производството, можете да работите с тях, използвайки IDE и текстови редактори, които не бихте имали на типичен сървър. Използването на споделени папки и частна мрежа значително подобрява тази възможност на Vagrant.

Уведомете ни, ако имате още въпроси относно този урок или има друга тема, която искате да разгледаме.

Как да промените курсора на мишката и размера на курсора, цвета и схемата в Windows 10
Показалецът на мишката и курсорът в Windows 10 са много важни аспекти на операционната система. Това може да се каже и за други операционни системи, т...
Безплатни и игри с отворен код за разработване на Linux игри
Тази статия ще обхване списък с безплатни двигатели за игри с отворен код, които могат да се използват за разработване на 2D и 3D игри на Linux. Същес...
Урок Сянка на Tomb Raider за Linux
Shadow of the Tomb Raider е дванадесетото допълнение към поредицата Tomb Raider - франчайз за екшън-приключенска игра, създаден от Eidos Montreal. Игр...