Instalacja Docker Engine, Docker Compose na Ubuntu

Wstęp

Moja przygoda z Dockerem zaczęła się, jak zwykle to bywa od problemu. Posiadając jeden serwer VPS w chmurze, chciałem mieć zainstalowanego jednocześnie WordPresa i OpenVPNa. Nie chciało to zadziałać z powodu różnych zależności wymaganych w systemie przez obie aplikacje. Z pomocą Dockera możemy na jednym systemie wdrażać tyle aplikacji ile chcemy. Ograniczeniem są jedynie zasoby sprzętowe maszyny, na której pracujemy.

Nie będę tutaj tłumaczył czym jest ani jak działa Docker – w internecie jest masa świetnych materiałów na ten temat. Na moim blogu poznacie Dockera, wykorzystując go w praktycznych przykładach.

Wymagania wstępne

Aby zainstalować Docker Engine, potrzebujesz 64-bitowej wersji jednej z następujących wersji Ubuntu:

Ubuntu Jammy 22.04 (LTS)
Ubuntu Impish 21.10
Ubuntu Focal 20.04 (LTS)
Ubuntu Bionic 18.04 (LTS)

Konfiguracja repozytorium

1. Zaktualizuj indeks pakietów apt i zainstaluj pakiety, aby umożliwić apt korzystanie z repozytorium przez HTTPS:

sudo apt update
sudo apt install ca-certificates curl gnupg lsb-release

2. Dodaj oficjalny klucz GPG Dockera:

sudo mkdir -m 0755 -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg

3. Użyj następującego polecenia, aby skonfigurować stabilne repozytorium:

echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
  $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

Instalacja Docker Engine i Docker Compose

1. Zaktualizuj indeks pakietów apt i zainstaluj najnowszą wersję Docker Engine i containerd:

sudo apt update
sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

2. Utwórz grupę docker.

sudo groupadd docker

3. Dodaj użytkownika do grupy docker.

sudo usermod -aG docker $USER

4. Uruchom następujące polecenie, aby aktywować zmiany w grupach:

newgrp docker

3. Sprawdź, czy Docker Engine jest poprawnie zainstalowany, uruchamiając obraz hello-world.

docker run hello-world

To polecenie pobiera obraz testowy i uruchamia go w kontenerze. Po uruchomieniu kontenera drukuje komunikat i kończy działanie.