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)

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.