cheatsheets

Docker Cheatsheet

Spis treści


Logowanie

docker login

Dockerfile

FORM node:11.6.0-alpine
COPY ...
RUN ...
CMD ...

Budowanie obrazu

docker build -t piecioshka/demo:1 .

Usuwanie obrazu

docker rmi piecioshka/demo:1

Uruchamianie kontenera

docker run piecioshka/demo
docker run -it piecioshka/demo
docker run -it -p 8000:3000 piecioshka/demo:1
docker run -it -p 8000:3000 -v ~/projects/test-app:/home/node/app piecioshka/demo:1

Zatrzymywanie kontenera

docker stop piecioshka/demo:1
docker kill piecioshka/demo:1

Lista kontenerów

docker ps       # Tylko uruchomionych
docker ps -a    # Wszystkich stworzonych

Usuwanie cache-a

docker system prune -a

Wyświetlenie aktualnych zdarzeń

docker events

Zalogowanie się na kontener

docker exec -it piecioshka/demo:1 bash

Dockerfile

Polecenia

💡 Hint: Po instalacji pluginu “Docker” w edytorze Visual Studio Code, podczas wypełniania pliku Dockerfile będziemy otrzymywali podpowiedzi.

Polecenie FROM

Przykład użycia:

Polecenie WORKDIR

Przykład użycia:

Polecenie COPY

Przykład użycia:

Polecenie RUN

Przykład użycia:

Polecenie CMD

Przykład użycia:


.dockerignore

Plik zawierający ścieżki do plików i katalogów, które będą ignorowane podczas budowania obrazu.


docker-compose.yaml

Must have

Możliwości

Użycie

# Uruchom kontenery na podstawie już stworzonych obrazów (jeśli nie istnieją zbuduje je)
docker-compose up

# Zbuduje obrazy ponownie, przed wystartowaniem kontenerów
docker-compose up --build

Docker — Kontenery

Uruchamianie

# Zwykłe zbudowanie i uruchomienie kontenera na podstawie obrazu
docker run IMAGE_NAME

# Wyjście z polecenie za pomocą <kbd>Ctrl+C</kbd> zatrzymuje kontener:
docker run -it IMAGE_NAME

# Usuń kontener stworzony z tego obrazu (jeśli istnieje)
docker run --rm IMAGE_NAME

Zatrzymywanie

docker stop IMAGE_ID
docker kill IMAGE_ID

Lista

# Tylko uruchomione
docker ps

# Wszystkie
docker ps -a

Zmiany które nastąpiły w kontenerze

docker diff

Logujemy się na uruchomiony kontener

Aby uruchomić powłokę bash na kontenerze o id = CONTAINER_ID uruchom następujące polecenie:

docker exec -it CONTAINER_ID bash

Współdzielenie portu

docker run -p TARGET:SOURCE IMAGE_NAME

Uruchomienie kontenera z parametrem -v. Opis parametrów:

Przykład:

docker run \
    -p 8000:3000 \
    piecioshka/demo:2

Współdzielenie katalogu (mapowanie)

docker run -v SOURCE:TARGET IMAGE_NAME

Uruchomienie kontenera z parametrem -v. Opis parametrów:

Przykład:

docker run \
    -p 8000:3000 \
    -v ~/projects/test-docker-http/:/home/node/app/ \
    piecioshka/demo:2

Współdzielenie sieci

docker run --network=NETWORK_NAME IMAGE_NAME

Współdzielenie tego samego interfejsu sieciowego na kontenerze

Przykład:

docker run --network=host busybox

Docker — Obrazy

Budowanie

docker build -t NAME PATH

Przykład:

docker build -t piecioshka/demo:1 .

Usuwanie

docker rmi [REPOSITORY:TAG|IMAGE_ID]

Przykład:

docker rmi node:11

Docker

Instalacja

  1. Pobrać plik binarny ze strony https://docker.com
  2. Stworzyć konto na https://hub.docker.com
  3. Uruchomić na komputerze docker login

Kontener to nie maszyna wirtualna

Źródło: https://blog.netapp.com/blogs/containers-vs-vms/

overlay2

Źródło: https://docs.docker.com/storage/storagedriver/overlayfs-driver/

Usuwanie cache-a

docker system prune -a

Zdarzenia Docker-a

Uruchom dwa okna terminala:

  1. W pierwszy uruchom

     docker events
    
  2. W drugim:

    • zbuduj obraz
    • lub uruchom kontener.

Ogólne informacje

docker info

Kubernetes

Zaawansowane zarządzenie kontenerami


Polecane źródła


Projekty