Fiszki Docker

Sponsor kategorii

Docker to platforma do konteneryzacji aplikacji, stworzona przez Solomona Hykesa. Jest to narzędzie zaprojektowane z myślą o standaryzacji, przenośności i izolacji środowisk aplikacji. Docker charakteryzuje się lekkością i efektywnością, umożliwiając łatwe pakowanie, dystrybucję i uruchamianie aplikacji wraz z ich zależnościami w różnych środowiskach. System ten oferuje zaawansowane funkcje zarządzania kontenerami i orkiestracji, zapewniając programistom i administratorom narzędzia do sprawnego wdrażania, skalowania i zarządzania aplikacjami. Docker wspiera również mikrousługową architekturę i ciągłą integrację, zachowując przy tym wysoką wydajność i umożliwiając szybkie oraz powtarzalne procesy rozwoju i wdrażania oprogramowania.

Nasza aplikacja z fiszkami zawiera starannie dobrane pytania rekrutacyjne z Dockera wraz z wyczerpującymi odpowiedziami, które skutecznie przygotują Cię do każdej rozmowy kwalifikacyjnej wymagającej znajomości Dockera. IT Flashcards to nie tylko narzędzie dla osób szukających pracy - to doskonały sposób na utrwalanie i testowanie swojej wiedzy, niezależnie od Twoich aktualnych planów zawodowych. Regularne korzystanie z aplikacji pomoże Ci być na bieżąco z najnowszymi trendami związanymi z Dockerem i utrzymać swoje umiejętności na wysokim poziomie.

Przykładowe fiszki Docker z naszej aplikacji

Pobierz naszą aplikację w App Store lub Google Play, aby uzyskać więcej darmowych fiszek lub subskrybuj dostęp do wszystkich fiszek.

Jakie są główne różnice między kontenerem a maszyną wirtualną?

Kontenery i maszyny wirtualne (VM) różnią się zarówno architekturą, jak i wydajnością.

1. Architektura:
Maszyna wirtualna zawiera pełny system operacyjny, z własnym jądrem, aplikacjami i bibliotekami, które są uruchomione na hypervisorze. Hypervisor zarządza współdzieleniem zasobów sprzętowych przez VM. Jako że maszyna wirtualna zawiera pełny system operacyjny, jest ona większa pod względem rozmiarów dysku.

Z drugiej strony, kontenery dzielą jądro systemu operacyjnego na którym są uruchomione i zawierają tylko aplikacje i ich zależności. Są one zarządzane przez silnik kontenerów, jak Docker. Kontenery są mniejsze i mają mniejsze narzuty, ponieważ nie potrzebują pełnego systemu operacyjnego.

2. Wydajność:
Maszyny wirtualne mają większe narzuty, ponieważ muszą uruchomić pełny system operacyjny. To wpływa na wydajność, zarówno podczas uruchamiania, jak i podczas działania.

Kontenery mają mniejsze narzuty, są lżejsze i szybsze do uruchomienia, a wdrożenie jest również prostsze, ponieważ można je łatwo przenosić między środowiskami.

Wreszcie, zarówno kontenery, jak i maszyny wirtualne mają swoje miejsce przy tworzeniu aplikacji i obie technologie są często używane razem w architekturach aplikacji. Mimo to, brak oddzielnych systemów operacyjnych czyni kontenery mniej izolowanymi i potencjalnie mniej bezpiecznymi niż maszyny wirtualne.

Co to jest obraz Docker'a i jak jest wykorzystywany?

Obraz Docker'a, zwany także Docker image, to niemutowalny plik, który zawiera skonfigurowane oprogramowanie. Obraz Docker'a tworzy się na bazie pliku Dockerfile, który zawiera instrukcje jak zbudować obraz.

Głównym elementem składowym obrazu Docker'a są warstwy (layers). Każda linijka instrukcji w Dockerfile tworzy nową warstwę. Warstwy są stosowane na sobie, tworząc w ten sposób ostateczny obraz.

Obraz Docker'a jest wykorzystywany do uruchomienia kontenera Docker'a. Kontener to instancja obrazu uruchomionego jako proces. W przeciwieństwie do obrazu, kontener ma stan i może być modyfikowany.

Dzięki temu, że obrazy Docker'a są niemutowalne i zawierają wszystkie potrzebne zależności, można je łatwo przenosić między różnymi systemami i serwerami. W efekcie, aplikacje uruchomione na obrazach Docker'a są zawsze identyczne, niezależnie od środowiska, co ułatwia testowanie i wdrażanie.

Jednym z głównych założeń Docker'a jest tzw. "build once, run anywhere" (zbuduj raz, uruchom wszędzie), co oznacza, że obraz zbudowany raz może być uruchomiony na dowolnym systemie obsługującym Docker'a.

W jaki sposób Docker używa warstw w obrazach kontenerów?

Docker wykorzystuje koncept warstw, aby składać obrazy kontenerów. Każda instrukcja w Dockerfile tworzy nową warstwę w obrazie, która dodaje, zmienia lub usuwa pliki z poprzedniej warstwy.

Warstwy Docker są read-only, co oznacza, że nie można ich modyfikować po utworzeniu. W momencie uruchomienia kontenera, Docker dodaje warstwę zapisu (ang. "writeable layer") na wierzch składowanych warstw. Wszystkie zmiany w kontenerze, takie jak zapisywanie nowych plików, modyfikacja istniejących plików czy usuwanie plików, są wykonywane w tej warstwie zapisu.

Dzięki zastosowaniu mechanizmu warstwowego, Docker może wydajnie udostępniać i magazynować obrazy. Gdy obrazy są pobierane, Docker pobiera każdą warstwę, którą nie ma jeszcze w swoim cache. Gdy obrazy są tworzone i przechowywane, Docker ponownie wykorzystuje warstwy, które są już dostępne, co zdecydowanie oszczędza miejsce.

Kod poniżej pokazuje, jak każda instrukcja w Dockerfile tworzy nową warstwę:
# Using Base Image
FROM python:3.8

# Creates a layer
RUN pip install flask 

# Adds another layer.
COPY . /app

W powyższym przykładzie, używamy obrazu python:3.8 jako podstawowej warstwy. Później dodajemy kolejne warstwy, instalując pakiet Flask i kopiując pliki. Każda z tych operacji dodaje nową warstwę do obrazu.

Co to jest Dockerfile i do czego służy?

Dockerfile to plik tekstowy zawierający instrukcje (komendy), które są wykonywane automatycznie kiedy budujemy obraz Docker’a. W pliku tym kolejno umieszczamy wszystkie informacje niezbędne do stworzenia obrazu.

Kiedy chcemy stworzyć obraz za pomocą Dockerfile, musimy w danym folderze uruchomić komendę:
docker build .

W tym przypadku kropka oznacza, że kontekstem buildowania (tj. miejsce gdzie Docker szuka pliku Dockerfile) jest aktualna lokalizacja (folder) w której się znajdujemy.

Piękno tego rozwiązania polega na tym, że po zdefiniowaniu obrazu w pliku Dockerfile, możemy go w pełni odtworzyć na dowolnym serwerze, na którym zainstalowany jest Docker. Bez względu na konfigurację hosta, zapewniamy tym samym powtarzalność naszych środowisk deweloperskich i produkcyjnych.

Przykładowa zawartość Dockerfile:
# Używany obraz bazowy 
FROM python:3

# Ustalenie katalogu roboczego w kontenerze
WORKDIR /usr/src/app

# Skopiowanie plików requirementów i zainstalowanie zależności
COPY requirements.txt ./
RUN pip install --no-cache-dir -r requirements.txt

# Skopiowanie reszty kodu do WORKDIR
COPY . .

# Opublikowanie portu, na którym bedzie działać nasza aplikacja
EXPOSE 8080

# Komenda, która zostanie uruchomiona po starcie kontenera
CMD [ "python", "./app.py" ]


Aplikacja powinna teraz być dostępna pod adresem localhost:8080.

Pobierz IT Flashcards Teraz

Poszerz swoją wiedzę z Dockera z naszymi fiszkami.
Od podstaw programowania po opanowanie zaawansowanych technologii, IT Flashcards to Twój paszport do doskonałości IT.
Pobierz teraz i odkryj swój potencjał w dzisiejszym konkurencyjnym świecie techniki.