Moją opinię dotyczącą Dockera poznaliście w poprzednim poście którego możecie przeczytać tutaj.
Dziś chciałbym się zająć czymś bardziej praktycznym a dokładnie instalacją i podstawowym użytkowaniem tego systemu. Ale nim przejdziemy do rzeczy ciekawych najpierw musimy go zainstalować. W kwesti instalacji odsyłam do strony Dockera -> TUTAJ. Ja osobiście pracuję na komputerze Mac więc będę dalsze kroki pisał z mojej perspektywy ale mam nadzieję, że na innych platformach to działa identycznie.
W przypadku wersji na Mac’a prawdopodobnie zaraz po instalacji Docker się otworzy w swojej wersji natywnej. Póki co nie używam tej wersji ponieważ jest ona wolniejsza niż w przypadku użycia docker-machine co w przypadku projektów ma znaczenie. Z tego co czytałem mają to poprawić więc może kiedyś przyjdzie dzień gdzie będę używać wersji natywnej.
Tworzenie docker-machine
Wersja z docker-machine nie różni się wiele od natywnej a wymaga tylko stworzenia maszyny wirtualnej na której będą działały kontenry. Jedyne czego potrzebujemy to zainstalowanego VirtualBox’a na naszej maszynie. To na nim tak naprawdę stworzymy maszynę wirtualną. Aby stworzyć naszą maszynę wirtualną musimy wpisać w konsoli
docker-machine create MACHINE_NAME --driver=virtualbox
MACHINE_NAME jest to nazwa maszyny wirtualnej i możecie wstawić tam jaką chcecie. Jeśli wpiszecie tam default to stworzycie domyślą maszynę wirtualną i część rzeczy będziecie mogli zrobić automatycznie. Ja osobiście wolę jednak konkretną nazwę (nie mam wtedy szansy tworzyć kontenerów na innej maszynie niż chcę). Ja tam wpiszę **pg **(skrót od playground). Poprawne stworzenie maszyny powinno wyglądać tak:
Jeśli wszystko poszło dobrze to po wpisaniu komendy
docker-machine ls
powinno nam się ukazać taki widok:
Teraz musimy wykonać jeszcze jedną rzecz aby móc korzystać z dockera. Musimy „połączyć” nasz terminal z maszyną. Aby to zrobić wpiszmy najpierw poniższą komendę w terminalu
docker-machine env pg
Jeśli daliście inną nazwę swojej maszynie to wpiszcie ją zamiast pg. Powinno nam się wyświetlić coś takiego.
Teraz musimy tak naprawdę przekopiować tą komendę
eval $(docker-machine env pg)
I voilà teraz każda komenda np.: docker-compose będzie wykonana na tej maszynie. Pamiętajcie, że jeśli zamkniecie terminal to potem znów będziecie musieli wpisać ponownie powyższą komendę by wszystko działało.
Żeby sprawdzić że rzeczywiście wszystko działa wpiszmy w terminalu
docker run hello-world
Polecam jeszcze aby zainstalować docker-machine-nfs z tego miejsca -> LINK. Pozwala to jeszcze bardziej przyśpieszyć działanie dockera jako serwera lokalnego. Aby go poprawnie skonfigurować należy wpisać następującą komendę
docker-machine-nfs MACHINE_NAME --shared-folder=/Users/nazwaUzytkownika/TWOJ_FOLDER
Ważne jest aby podać dokładny folder w którym będziemy trzymać pliki dla serwera. Dzięki temu możemy mieć stworzonych wiele maszyn do wielu folderów(projektów) i nie będzie konfliktów. Poprawne działanie tej komendy przedstawiłem poniżej.