Читать книгу Docker w praktyce - Ian Miell - Страница 12

1.1.1. Czym jest Docker?

Оглавление

Aby zrozumieć, czym jest Docker, łatwiej jest zacząć od metafory niż technicznego wyjaśnienia, a metafora Dockera jest potężna. Doker był robotnikiem, który przenosił towary do i ze statków, gdy cumowały one w portach. Wśród nich były skrzynki i przedmioty o różnych rozmiarach i kształtach, a doświadczeni dokerzy byli cenieni za swoją zdolność do ręcznego, efektywnego kosztowo dopasowywania towarów do statków (patrz rys. 1.2). Zatrudnianie ludzi do przenoszenia towarów nie było tanie, ale nie istniała alternatywa.


Rysunek 1.2. Załadunek przed wprowadzeniem i po wprowadzeniu zestandaryzowanych kontenerów

Powinno to brzmieć znajomo dla każdego, kto pracuje z oprogramowaniem. Dużo czasu i intelektualnej energii poświęca się na tworzenie metaforycznie dziwnie ukształtowanego oprogramowania dla metaforycznych statków o różnej wielkości, pełnych innych dziwacznych programów, dzięki czemu można je sprzedawać użytkownikom lub firmom w innym miejscu.

Rysunek 1.3 pokazuje, jak można zaoszczędzić czas i pieniądze dzięki koncepcji Dockera. Przed Dockerem wdrożenie oprogramowania w różnych środowiskach wymagało znacznego wysiłku. Nawet jeśli nie korzystaliśmy z ręcznych skryptów do wrzucania oprogramowania na różne maszyny (a wiele osób dokładnie tak robi), wciąż musieliśmy zmagać się z narzędziami do zarządzania konfiguracją, które zarządzały stanem coraz szybciej zmieniających się środowisk i ich zapotrzebowania na zasoby. Nawet gdy te wysiłki dotyczyły maszyn wirtualnych, wiele czasu poświęcano na zarządzanie ich wdrażaniem, oczekiwanie na ich uruchomienie i zarządzanie wykorzystanymi przez nie zasobami.


Rysunek 1.3. Dostarczanie oprogramowania przed i z Dockerem

Dzięki Dockerowi wysiłek konfiguracyjny jest oddzielony od zarządzania zasobami, wysiłek wdrożeniowy zaś jest trywialny: wpisujemy docker run, pobierany jest wtedy gotowy do uruchomienia obraz środowiska zużywający mniej zasobów i umieszczony tak, aby nie kolidował z innymi środowiskami.

Nie musimy martwić się o to, czy nasz kontener zostanie wysłany na maszynę z Red Hatem, z Ubuntu czy do obrazu CentOSa; tak długo, jak będzie znajdował się na niej Docker, będzie to działać.

Docker w praktyce

Подняться наверх