Читать книгу Docker w praktyce - Ian Miell - Страница 14
1.1.3. Kluczowe pojęcia
ОглавлениеW tej części omówimy kilka kluczowych pojęć Dockera przedstawionych na rysunku 1.4.
Rysunek 1.4. Podstawowe pojęcia Dockera
Przed rozpoczęciem uruchamiania poleceń Dockera warto dobrze rozumieć koncepcję obrazów, kontenerów i warstw. W skrócie, kontenery są działającymi systemami zdefiniowanymi przez obrazy. Obrazy te składają się z jednej lub więcej warstw (lub zestawów różnic) oraz pewnych metadanych Dockera.
Spójrzmy teraz na niektóre z podstawowych poleceń Dockera. Przekształcimy obrazy w kontenery, zmodyfikujemy je i dodamy warstwy do nowych obrazów, które zatwierdzimy. Nie trzeba się martwić, jeśli na razie jest to dezorientujące. Pod koniec rozdziału wszystko będzie o wiele jaśniejsze.
Kluczowe polecenia Dockera
Główną funkcją Dockera jest budowanie, dostarczanie i uruchamianie oprogramowania w dowolnym miejscu, w którym jest on dostępny. Dla użytkownika końcowego Docker to program, którego uruchamia się z linii poleceń. Podobnie jak git (lub dowolne narzędzie kontroli źródeł), ten program ma wiele podpoleceń wykonujących różne operacje. Główne podpolecenia Dockera, których będziemy używać na naszym hoście, zostały wymienione w tabeli 1.1.
Tabela 1.1. Podpolecenia Dockera
Polecenie | Cel |
docker build | Buduje dockerowy obraz |
docker run | Uruchamia dockerowy obraz jako kontener |
docker commit | Zatwierdza dockerowy kontener jako obraz |
docker tag | Dodaje tag do dockerowego obrazu |
Obrazy i kontenery
Przy braku znajomości Dockera może to być pierwszy raz, gdy w tym kontekście trafimy na słowa „kontener” i „obraz”. Prawdopodobnie są to najważniejsze pojęcia w Dockerze, warto więc poświęcić trochę czasu, aby upewnić się, że różnica jest jasna. Na rysunku 1.5 znajduje się ilustracja tych koncepcji, z trzema kontenerami uruchomionymi z jednego podstawowego obrazu.
Rysunek 1.5. Obrazy i kontenery Dockera
Jednym ze sposobów patrzenia na obrazy i kontenery jest postrzeganie ich analogicznie do programów i procesów. W ten sposób proces może być postrzegany jako „wykonywana aplikacja”, kontener Dockera może być zaś traktowany jako wykonywany dockerowy obraz.
Znając zasady programowania obiektowego, innym sposobem patrzenia na obrazy i kontenery jest traktowanie obrazów jako klas, a kontenerów jako obiektów. Podobnie jak obiekty są konkretnymi instancjami klas, kontenery są instancjami obrazów. Możemy utworzyć wiele kontenerów z jednego obrazu i wszystkie będą od siebie odizolowane w ten sam sposób, w jaki są obiekty. Cokolwiek zmienimy w obiekcie, nie wpłynie to na definicję klasy – są to zasadniczo różne rzeczy.