Docker še ni podprt za operacijski sistem FreeBSD, zato na FreeBSD nikakor ne morete uporabljati dockerja, vsaj izvirno. Bilo je že več poskusov zgraditve vira dockerja za FreeBSD, vendar noben, za katerega sem našel, ni dal nobenih bistvenih rezultatov. To je verjetno zato, ker FreeBSD nima nekaterih funkcij Linuxa, na primer imenskega prostora in skupin, ki še niso del jedra FreeBSD.
Tako nam ostane samo ena možnost: uporaba navideznega stroja. Torej bomo v tej vadnici uporabili virtualbox za zagon Linux VM v FreeBSD in v njem uporabili docker.
1. korak: Namestite odjemalca dockerja in navidezni stroj v FreeBSD
Če želite v en ukaz namestiti tako odjemalca dockerja kot navidezni stroj, skupaj z navideznim poljem, v lupino vnesite naslednje in pritisnite Enter:
$ sudo pkg install docker docker-machine virtualbox-ose
Razlog, zakaj docker-machine nastavljamo z navideznim okencem, je ta, da olajša upravljanje gostiteljev Docker. Z docker-machinejem lahko ustvarite strežnike in namestite docker na vsakega od njih ter vsakega posebej konfigurirate.
2. korak: Naložite modul jedra vboxdrv
Ko je v vašem sistemu nameščen virtualbox, naložite modul jedra vboxdrv. Če želite to narediti in dodati svoj uporabniški račun v skupino vboxusers, morate zagnati naslednji ukaz:
$ sudo pw groupmod vboxuser -m
Ko se ukaz izvede, boste lahko uporabljali vbox. Po ponovnem zagonu sistema lahko uporabljate navidezne stroje.
3. korak: Ustvarjanje gostiteljev VirtualBox
S spodnjim ukazom ustvarite gostitelja Virtualbox:
$ docker-machine create -d virtualbox privzeto
Če si želite ogledati vsak tok gostitelja v vašem sistemu.
$ docker-machine ls
Z novim gostiteljem navideznega polja bi morali nastaviti parametre VM za komunikacijo z odjemalcem dockerja. Uporabite spodnji ukaz:
$ eval "$ (privzeto env docker-machine env)"
Nato kopirajte in prilepite ta ukaz v .bashrc /.zshrc in vse je pripravljeno za uporabo dockerja na FreeBSD.
Zakaj bi šli skozi vse te težave?
Zagotovo mora obstajati enostavnejši način za zagon dockerja, ki ne potrebuje uporabe navideznih strojev?
No, št. Zaenkrat je to edini način, da docker zaženete in deluje na sistemu FreeBSD, saj, kot smo že omenili, FreeBSD nima podpore za nekatere elemente, ki so ključnega pomena za delovanje dockerja.
Zakaj potem ne bi uporabili alternative dockerju? Slišal sem, da je rkt veliko boljša alternativa dockerju in deluje na FreeBSD!
Seveda obstaja veliko FreeBSD alternativ dockerjem, ki so boljše, če ne ravno tako dobre. Stvar je v tem, da večina ljudi pozna docker in nekaterim uporabnikom je precej zastrašujoče popolnoma spremeniti platforme. Drug razlog je pomanjkanje učnega gradiva za rkt, zato bi se novi v programski opremi za kontejneriranje odločili za docker namesto njegovih alternativ FreeBSD.
Zaključek
To je to za to vadnico. Upajmo, da lahko zdaj skupaj s škatlo uporabljate docker na FreeBSD.