Back to top

Rummager & docker-compose

Jeżeli Twoje środowisko dockerowe składa się z więcej niż jednego kontenera to zapoznanie się z docker-compose znacznie ułatwi Ci życie. Zresztą nawet przy jednym, no dobrze – dwóch kontenerach, okazuje się on być bardzo pomocnym narzędziem. To, co przy korzystaniu z „gołego” dockera może sprawiać pewną trudność, czyli mnogość opcji i parametrów podawanych przy uruchamianiu kontenerów w bardziej zaawansowanych (niż „hello world”) implementacjach, jest w dość przejrzysty i wygodny sposób znacząco uproszczone przez właśnie docker-compose. Dzięki temu narzędziu możemy zarządzać naszym środowiskiem za pomocą zdefiniowanych nazw/aliasów bez konieczności pamiętania (i ciągłego wpisywania) wszystkich szczegółów implementacji. Oczywiście nie jest to nic czego nie moglibyśmy dokonać również za pomocą sprytnych skryptów powłoki, jednak yaml (ten format pliku konfiguracyjnego wykorzystywany jest przez docker-compose) wydaje się być bardziej… elegancki, a elegancja – ważna rzecz.

Docker

Kontenery, kontenery - po horyzont. Nie tak dawno (kilka lat temu) cieszyłem się z możliwości i lekkości LXC, i szczerze mówiąc, w dyskusjach z kolegami Dockera raczej ignorowałem. Cóż, LXC jest całkiem fajnym narzędziem, czegóż można chcieć więcej?.. Otóż oczywiście można! I choć osobiście ciężko mi się jest zgodzić ze stwierdzeniem, że albo Docker, albo LXC (to, moim zdaniem, zależy w dużej mierze od rodzaju zadania), to jednak w pracy developera, Docker wydaje sprawdzać się zdecydowanie lepiej - LXC jest, cóż,"zbyt ciężkie". Warto tutaj zaznaczyć, że w przypadku Docker-a różnicę robi przede wszystkim „podejście”. Wszystko to z czym spotkałem się przed Dockerem (VMWare, ESXi, Xen, Hyper-V, VirtualPC, Qemu, Bochs, VirtualBox i oczywiście LXC) - wszystko to to jest jakiś rodzaj wirtualizacji (parawirtualizacji, bądź konteneryzacji) CAŁEGO systemu. Docker skupia się natomiast na aplikacji, bez dbałości o te części systemu, o które nie dba sama aplikacja. Mówiąc językiem Linuksowych guru: aplikacja uruchamiana jest z identyfikatorem procesu (PID) równym "1" (standardowo zarezerwowanym dla procesu "Init", jednak w kontenerze dockerowym nie ma ani procesu Init, ani żadnego jego odpowiednika) - czy to coś zmienia? Okazuje się, że wiele!

Vagrant - kilka słów o.

VAGRANT WILL CHANGE HOW YOU WORK głosi slogan ze strony https://www.vagrantup.com - kto za? Kto przeciw? Ja nie mam zamiaru zaprzeczać, że Vagrant to bardzo fajna idea i choć nasz pierwszy kontakt nie należał do udanych (nie do końca przemawiała do mnie stojąca za tym narzędziem motywacja), to jednak z biegiem czasu było już tylko lepiej. Sam wspomniany powyżej slogan nie jest jednak, moim zdaniem, trafiony.

Strony