W moim pierwszym artykule o Docker pokazałem wam jak przygotować podstawowy kontener, który zawiera php. mysql oraz apache. Trochę mi się oberwało, że skoro używam kontenerów to wypadałoby na każdy serwis postawić oddzielny kontener i w razie potrzeb przełączać się między kontenerami by uzyskać różne środowiska testowe bez konieczności większych zmian w konfiguracji. Ok, nauka zapamiętana... Dziś pokażę więc wam jak stworzyć kilka różnych kontenerów, każdy z jedną usługą, a następnie połączę to wszystko w jedno piękne środowisko testowe, w którym możemy odpalać naszą aplikację zarówno na php5 jak i php7
W poprzednim artykule (Docker - podstawowy kontener) opowiedziałem Wam o moich pierwszych przygodach z Dockerem i linuksowymi kontenerami. Jedną z zalet, jaką wszyscy podają, jest brak wirtualizacji (a co za tym idzie duża oszczędność zasobów) w porównaniu do Vagrant, który to używa właśnie wirtualizacji, choćby przy pomocy VirtualBox. Gdy się tak zagłebiałem w świad Dockera, przypadkiem natrafiłem na wtyczkę do Vagrant, która to zamiast np. VirtualBox używa własnie LXC - vagrant-lxc
W arcie tym postaram się wam szybko pokazać jak przygodować swój pierwszy kontener do pracy z projektem lub projektami. Nie będę się rozpisywał czym jest docker, gdyż w necie znajdziecie całą masę wyjaśnień pisanych przez osoby bardziej doświadczone w temacie niż ja. Ja na szybko powiem tak: Docker to narzędzie, które pozwala stworzyć kontenery, które dostarczają środowisko pracy, ale jednocześnie są odseperowane od systemu głównego oraz od innych kontenerów, dzięki czemu możecie sobie robić z danym kontenerem co wam się żywnie podoba i nie wpłynie to w żaden sposób na wasz główny system, czyli np. możecie zainstalować sobie na próbę php7 w kontenerze i nie martwić się, że szlag wam trafi wasze inne projekty chodzące na php5. Coś podobnego daje wam również Vagrant, ale Vagrant tworzy Virtualne Maszyny i jest przez to wolniejszy oraz zużywa więcej zasobów.
Wiele razy widziałem oferty skryptów, czy też nawet "poważnych" serwisów za przysłowiowe 50zł (często dosłownie za 50zł). Nigdy jakoś nie zwracałem na nie specjalnej uwagi - wiadomo raczej było, że jaka cena taka jakość. W tej "jakości" spodziewałem się podatności na SQLInjection, na XSS czy też ogólnie średnio optymalnie napisanego kodu. Jednak to co zobaczyłem parę dni temu przeszło moje najśmielsze wyobrażenia i postanowiłem na tym przykładzie opisać jak wyglądają skrypty za 50zł. Wahałem się trochę czy o tym pisać czy nie ale o tym na końcu.