Docker i konteneryzacja Flashcards

1
Q

Co to jest DOCKER?

A

Platforma (PaaS) przeznaczona dla deweloperów i dla administratorów systemu.
Oprogramowanie pozwalająca na odizolowana od systemu aplikacji poprzez konteneryzacje.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Co to jest OBRAZ?

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Co to jest KONTENER?

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Dockerfile

A

Plik, w którym umieszczone są polecenia, odnośnie tego co ma zostać zainstalowane w ramach danego obrazu aby utworzyć kontener.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Docker Compose

A

Plik, w formacie YAML, który umożliwia nam łączenie ze sobą wielu kontenerów.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Sieci w Dockerze

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Jak wyświetlić listę kontenerów?

A
sudo docker ps -a

lub
docker container ls -a

Flaga -a pokazuje wszystkie (również nieuruchomione) kontenery

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

jak usunąć kontener?

A
sudo docker rm [kontener]

[kontener] - może być określony np. jako znak rozpoczynający ID kontenera
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Jak sprawdzić status Dockera? ( czy usługa jest uruchomiona)

A
systemctl status docker
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

jak wyświetlić adres IP z wybranego interfejsu?

A
ip addr show [nazwa interfejsu]
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Jak wyświetlić wszystkie interfejsy?

A
ip a
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Most sieciowy

A

Połączenie interfejsu sieciowego danego kontenera z ogólnym interefejsem sieciowym Dockera, aby uzyskać “wyjście na świat”

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Jakim poleceniem pobiera się obraz Dockera? Jak określić wersje pobieranego obrazu?

A
docker pull [nazwa obrazu]:[nazwa wersji]

Domyślnie (bez umieszczania dwukropka) pobieramy wersje latest
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Do czego służy polecenie dockerd?

A

Umożliwia wykonanie własnej konfiguracji (sieci) dockera

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Jak wyświetlić listę aktualnie posiadanych obrazów?

A
docker images
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Jak usunąć obraz?

A
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

16
Q

Jak wyszukać obrazy w repozytorium? Jakie są filtry?

A
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
17
Q

Jak wyświetlić historię tworzenia obrazu? co oznacza missing w kolumnie IMAGE?

A
docker history [obraz:wersja]

missing oznacza, że dane były nieistotnie i przez to nie zostało zachowane
18
Q

Jak dokonać inspekcji obrazu? Co ona zawiera?

A
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

19
Q

Jak stworzyć kontener?

A
docker create [nazwa obrazu]

Jeżeli nie posiadamy wskazanego obrazu to docker spróbuje go pobrać

20
Q

Jak uruchomić utworzony kontener?

A
docker start [kontener]
21
Q

Jak nazwać tworzony kontener? Jak zmienić nazwę kontenera?

A
docker create --name [nazwa] [obraz]

do zmiany nazwy kontenera służy:

docker rename [old name] [new name]
22
Q

Jak usunąć kontener? Jak usunąć wszystkie nieuruchomione kontenery?

A
docker container rm [kontener]

usunięcie wszystkich:

docker container prune

słowo container nie jest wymagane

23
Q

Czym się różni docker start od docker run?

A

start - uruchamia kontener
run - tworzy nowy kontener i go uruchamia ( create + start )

24
Q

Jak uruchomić kontener w trybie ciągłym?

A
docker create -it --name [nazwa] [obraz]

flaga -i zapewnia interaktywność
flaga -t proces uruchamia powłokę bash

docker create -itd [obraz]

flaga -d pozwala nam wystartować kontener bez powłoki systemowej (bez wchodzenia do niej od razu)

25
Q

Jak zatrzymać działający kontener?

A
docker stop [kontener]
26
Q

Jak uruchomić powłokę kontenera?

A
docker attach [kontener]
27
Q

Jak wykonać polecenie w powłoce kontenera (bez “wchodzenia” do powłoki)?

A
docker exec -it [kontener] [polecenie]
28
Q

Jak wyświetlić sieć/sieci wygenerowane w Dockerze?

A
docker network ls
29
Q

Jakie 3 podstawowe sieci są skonfigurowane w Dockerze?

A
  • bridge - zapewnia stałą łączność między hostem a kontenerami
  • host - kontener korzysta z adresu hosta ; brak izolacji kontenera od środowiska hosta
  • none - służy do odizolowania kontenera w sieci; całkowicie odizolowany od świata zewnętrznego ( ani z hostem ani z innymi kontenerami)
    Dodatkowo mamy sieci:
  • overlay - sieć nakładkowa; umożliwia połączenia mięzy kontenerami uruchomionymi na różnych hostiach
  • MACVLAN - umożliwia hostowi udostępnienie kontenerom sieci hosta; kontenery mogą być traktowane jak fizyczne urządzenia w sieci
30
Q

Jak sprawdzić adres IP wybranego kontenera?

A
docker container inspect [kontener]

Informacje znajdują sie w sekcji NetworkSettings;

Można też użyć grep, aby wyselekcjonować interesujace nas informacje

docker container inspect [kontener] | grep IPAddress