Docker to technologia, która wykorzystuje wirtualizację na poziomie systemu operacyjnego (ang. OS-level virtualization). Docker umożliwia dostarczanie aplikacji w postaci kontenera. Kontener to odizolowane środowisko, które posiada własne oprogramowanie, konfigurację i zależności. Takie rozwiązanie umożliwia użycie kontenera w różnych środowiskach wdrożeniowych (np. lokalnym, developerskim, testowym i produkcyjnym), ujednolicając zależności pomiędzy środowiskami.

Tworzenie obrazu – Dockerfile

Dockerfile to plik, w którym znajdują się instrukcje do stworzenia własnego obrazu. Na podstawie obrazu tworzone są kontenery.

FROM bash:lastest CMD ["echo", "Hi"]

W pierwszej linii powyższego przykładu został zdefiniowany publicznie dostępny obraz, na podstawie którego zostanie zbudowany nasz obraz. W tym przypadku został użyty obraz, który dostarcza najnowszą wersję BASH’a. Druga linia określa jakie polecenie powinno zostać uruchomione wraz z uruchomieniem kontenera.

Aby zbudować obraz wystarczy wykonać następujące polecenie, w którym argument -t określa tag naszego obrazu:

# docker build -t demo . STEP 1: FROM bash STEP 2: CMD ["echo", "Hi"] STEP 3: COMMIT demo 2cbb731fe4753d12b4801f79e20bfcf4ce18dba2162152fcfa0ad2dbb212d4c9 2cbb731fe4753d12b4801f79e20bfcf4ce18dba2162152fcfa0ad2dbb212d4c9

Zbudowane obrazy

Aby zobaczyć listę wszystkich dostępnych obrazów na naszym komputerze wystarczy wykonać następujące polecenie:

# docker images REPOSITORY TAG IMAGE ID CREATED SIZE localhost/demo latest 2cbb731fe475 7 seconds ago 17.6 MB docker.io/library/bash latest e155078e7721 2 weeks ago 17.6 MB

Aby usunąć obraz należy wykonać następujące polecenie:

# docker image rm [IMAGE]

Tworzenie kontenera

Aby stworzyć kontener na podstawie obrazu należy wykonać następujące polecenie, w którym argument --name określa nazwę naszego kontenera

# docker run --name demo demo Hi

Kontenery

Aby wylistować kontenery należy wykonać następujące polecenie, w którym argument -a pozwala wyświetlić wszystkie kontenery.

# docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 6e2ef30ca66e localhost/test:latest echo Hi 42 minutes ago Exited (0) 42 minutes ago test

Zarządzanie kontenerem

# docker start CONTAINER_NAME # docker stop CONTAINER_NAME # docker restart CONTAINER_NAME
Categories: Docker