Docker to zyskująca coraz większą popularność aplikacja, podchodząca w ciekawy sposób do tematu wirtualizacji. Przy jej pomocy uruchamiamy nie całe maszyny wirtualne (wraz z systemem operacyjnym), tylko aplikację/program (tzw. kontener). Kontenery nie zajmują dużo miejsca i uruchamiają się bardzo szybko. Dodatkowo korzystają one z systemu plików działającym w trybie Copy-on-Write, przez co tworząc nowy kontener, docker nie kopiuje całego kontenera, a jedynie pliki które zostały zmodyfikowane.
Jeśli potrzebujemy np. bazy danych MySQL w wersji 5.6, wystarczy pobrać odpowiedni obraz (lub samemu zbudować) ze strony https://hub.docker.com/. Jeśli nie znajdziemy tego co chcemy, możemy ściągnąć bazowy system (np. obraz Ubuntu 15.04) doinstalować to co chcemy i następnie stworzyć własny obraz. Jeśli nie będzie nam już więcej potrzebny, usuwamy go i po sprawie. Każdy kontener możemy też dostosować do własnych potrzeb, np. doinstalować jakiś pakiet lub uruchomić na nim jakąś dodatkową usługę. Z założenia jednak każdy kontener powinien obsługiwać tylko jedną usługę. Przykładowo chcemy stworzyć nową stronę www (PHP + MySQL). Aby przetestować nasz kod potrzebujemy serwera www. Przy pomocy dockera łatwo uruchomimy serwer www używając 2 różnych kontenerów. Jeden będzie obsługiwał bazę danych, drugi- serwer apache wraz z PHP. Następnie łączymy (linkujemy) je ze sobą, a pliki strony mapujemy z naszego lokalnego dysku hosta. Zaletą takiego rozwiązania jest to, że jeśli chcemy przetestować nasz projekt korzystając z innej wersji PHP, wystarczy że ściągniemy odpowiedni obraz (tag) i ponownie uruchomimy kontenery.
Czytaj więcej »