Docker i konteneryzacja Flashcards
Co to jest DOCKER?
Platforma (PaaS) przeznaczona dla deweloperów i dla administratorów systemu.
Oprogramowanie pozwalająca na odizolowana od systemu aplikacji poprzez konteneryzacje.
Co to jest OBRAZ?
Szablon z którego tworzymy kontenery.
Zbiór oprogramowania uruchamianego jako kontener, zawierający zbiór instrukcji jak taki kontener stworzyć, co ma zawierać, itp.
Co to jest KONTENER?
Samodzielny byt, umożliwiający uruchomienie w odizolowanym środowisku, według określonych wytycznych, aplikacji / programu / procesu.
Kontenery są automatyczne dodawane do sieci
Z jednego obrazu może powstać wiele kontenerów.
Kontener opiera się o lekką wirtualizację na poziomie systemu operacyjnego.
Dockerfile
Plik, w którym umieszczone są polecenia, odnośnie tego co ma zostać zainstalowane w ramach danego obrazu aby utworzyć kontener.
Docker Compose
Plik, w formacie YAML, który umożliwia nam łączenie ze sobą wielu kontenerów.
Sieci w Dockerze
Sieć umożliwia izolację kontenerów, umożliwiając dostęp do zasobów i komunikację między wybranymi przez nas kontenerami.
Docker po instalacji tworzy wirtualny interfejs sieciowy i stanowi on “tunel”, natomiast dla kolejnych kontenerów tworzonę są osobne interfejsy sieciowe
Jak wyświetlić listę kontenerów?
sudo docker ps -a
lub
docker container ls -a
Flaga -a pokazuje wszystkie (również nieuruchomione) kontenery
jak usunąć kontener?
sudo docker rm [kontener]
[kontener] - może być określony np. jako znak rozpoczynający ID kontenera
Jak sprawdzić status Dockera? ( czy usługa jest uruchomiona)
systemctl status docker
jak wyświetlić adres IP z wybranego interfejsu?
ip addr show [nazwa interfejsu]
Jak wyświetlić wszystkie interfejsy?
ip a
Most sieciowy
Połączenie interfejsu sieciowego danego kontenera z ogólnym interefejsem sieciowym Dockera, aby uzyskać “wyjście na świat”
Jakim poleceniem pobiera się obraz Dockera? Jak określić wersje pobieranego obrazu?
docker pull [nazwa obrazu]:[nazwa wersji]
Domyślnie (bez umieszczania dwukropka) pobieramy wersje latest
Do czego służy polecenie dockerd?
Umożliwia wykonanie własnej konfiguracji (sieci) dockera
Jak wyświetlić listę aktualnie posiadanych obrazów?
docker images
Jak usunąć obraz?
docker rmi [obraz]
[obraz] to może być nazwa(:wersja) lub ID obrazu
rmi = remove image;
Nie można usunąć obrazu, na bazie którego uruchomiony jest kontener
Jak wyszukać obrazy w repozytorium? Jakie są filtry?
docker search [nazwa obrazu]
Wyświetlana jest lista obrazów wraz z opisem, oceną, informacją czy jest on oficjalny i zautomatyzowany
Jeśli interesują nas tylko oficjalne obrazy to dodajemy filtr:
docker search -f is-official=true [obraz]
docker search -f stars=1 [obraz]pokazuje obrazy, które mają 1 lub więcej gwiazdek
Jak wyświetlić historię tworzenia obrazu? co oznacza missing w kolumnie IMAGE?
docker history [obraz:wersja]
missing oznacza, że dane były nieistotnie i przez to nie zostało zachowane
Jak dokonać inspekcji obrazu? Co ona zawiera?
docker inspect [obraz]
Istotne elementy:
- RepoTags - nazwa obrazu
- RepoDigests - hash, świadczący o integralności obrazu
- Container - ID kontenera tworzonego przez dockerfile
- ContainerConfig - konfiguracja kontenera
- ContainerConfig -> Hostname - ID naszego kontenera w sieci
- Config - konfiguracja obrazu
- ExposedPorts - porty otwierane przy tworzeniu kontenera
Jak stworzyć kontener?
docker create [nazwa obrazu]
Jeżeli nie posiadamy wskazanego obrazu to docker spróbuje go pobrać
Jak uruchomić utworzony kontener?
docker start [kontener]
Jak nazwać tworzony kontener? Jak zmienić nazwę kontenera?
docker create --name [nazwa] [obraz]
do zmiany nazwy kontenera służy:
docker rename [old name] [new name]
Jak usunąć kontener? Jak usunąć wszystkie nieuruchomione kontenery?
docker container rm [kontener]
usunięcie wszystkich:
docker container prune
słowo container nie jest wymagane
Czym się różni docker start od docker run?
start - uruchamia kontener
run - tworzy nowy kontener i go uruchamia ( create + start )