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.