Docker – obrazy, kontenery i podstawowe komendy

Odkryj, czym są kontenery i ich obrazy oraz naucz się podstawowych komend Docker CLI aby uruchamiać aplikacje niezależnie od otoczenia!

#technologia #konteneryzacja #docker #linux
3a98f287-5428-4765-abc1-c2955e5d1710
lactozzi

@koszotorobur wow, ale dobry blog, dzięki! W końcu ktoś mówi do mnie drukowanymi literami jak do 5-latka. zapisuję do ulubionych.

koszotorobur

@lactozzi - ja go tyko znalazłem, oceniłem czy merytorycznie jest poprawny i zrobiłem wpis - podziękuj autorowi

zboinek

@koszotorobur yyyyyy to chyba nie jest prawda.

Kazdy konenter uruchomiony z tego obrazu będzie korzystał z tych samych plików podstawowych a na dysku zapisywał tylko zmiany

c7988251-3a9f-47a6-aa35-e4a58aad42cb
koszotorobur

@zboinek - Podoba mi się Twoje krytyczne myślenie kolego!

Wydaje mi się, że autor artykułu mógł starać się uprościć czym jest obraz kontenera i kontener bez poruszania tematu OverlayFS , który jest wykorzystywany przez technologie konteneryzacji takie jak Docker, gdyż temat może wydawać się zbyt skomplikowany dla początkujących.

Niemniej OverlayFS oferuje to o czym wspominasz - czyli współużytkowanie tego samego podstawowego systemu plików dla obrazów kontenera i kontenerów uruchomionych z tychże obrazów. Użycie OverlayFS prowadzi więc do tego, że każdy kontener przechowuje swoje zmiany w postaci warstw, które odnotowują jedynie różnice w systemie plików, zmniejszając tym samym zużycie miejsca na dysku.

Innymi słowy, po uruchomieniu kontenera, Docker tworzy nową warstwę dla systemu plików kontenera ponad tym co znajduje się w obrazie podstawowym. Dzięki temu kontener może mieć własny system plików, który jest odizolowany od systemu hosta i innych kontenerów bez duplikowania zawartości plików pomiędzy obrazem kontenera a kontenerem.

Dla ciekawskich - ten artykuł całkiem dobrze to wyjaśnia: https://blog.devops.dev/overlayfs-and-docker-3dca51c033c4

zboinek

@koszotorobur zwracam na to uwagę bo dużo tutoriali tłumaczy to w ten sposób a potem jak zagłębimy się w temat to nagle nie wiadomo o co chodzi z tymi plikami.

koszotorobur

@zboinek - tacy jak my się zagłębiają - reszta jedynie używa i ma im po prostu działać bez względu na to jak (to nie żart, a ignorancja developerów, którzy i tak już są obrażeni, że musieli zacząć się uczyć jak używać kontenerów).

zboinek

@koszotorobur a to akurat jest prawda

Marchew

@koszotorobur  @zboinek

Czyli docker to taki bare metal postawiony na OS'ie?

koszotorobur

@Marchew - Docker jest formą wirtualizacji OS.

W przeciwieństwie do pełnej wirtualizacji nie emuluje sprzętu i korzysta z tego samego kernela co System Operacyjny hosta - co czyni kontenery szybszymi ale też mniej odizolowanymi niż pełna wirtualizacja.

Kontenery to tak naprawdę najzwyklejsze procesy działające w swoim własnym namespace i używające własnego systemu plików - uruchomione na OSie hosta i działające dzięki ficzerom kernela dostarczanym przez OS hosta.

Zaloguj się aby komentować