Docker to według wielu programistów jedno z najważniejszych narzędzi ostatniej dekady. Pozwala uruchamiać aplikacje w izolowanych kontenerach — bez konieczności instalowania zależności w systemie. Dla hobbystów potencjalnie oznacza to możliwość uruchomienia dziesiątek usług na jednym serwerze bez konfliktów.
Instalacja Docker na Debianie/Ubuntu
# Usuń stare wersje
sudo apt remove docker docker-engine docker.io containerd runc
# Zainstaluj z oficjalnego repozytorium
curl -fsSL https://get.docker.com | bash
# Dodaj użytkownika do grupy docker (bez sudo)
sudo usermod -aG docker $USER
newgrp docker
# Sprawdź instalację
docker --version
docker run hello-world
Podstawowe komendy
| Komenda | Opis |
|---|---|
docker ps | Lista działających kontenerów |
docker ps -a | Wszystkie kontenery (też zatrzymane) |
docker images | Lista obrazów |
docker pull nginx | Pobierz obraz |
docker run -d -p 80:80 nginx | Uruchom kontener w tle |
docker stop <id> | Zatrzymaj kontener |
docker rm <id> | Usuń kontener |
docker logs <id> | Logi kontenera |
Docker Compose – przykład Nextcloud
# docker-compose.yml
version: "3.8"
services:
db:
image: mariadb:10.11
restart: always
environment:
MYSQL_ROOT_PASSWORD: tajne_haslo
MYSQL_DATABASE: nextcloud
MYSQL_USER: nextcloud
MYSQL_PASSWORD: haslo_nc
volumes:
- db_data:/var/lib/mysql
nextcloud:
image: nextcloud:latest
restart: always
ports:
- "8080:80"
depends_on:
- db
volumes:
- nc_data:/var/www/html
environment:
MYSQL_HOST: db
MYSQL_DATABASE: nextcloud
MYSQL_USER: nextcloud
MYSQL_PASSWORD: haslo_nc
volumes:
db_data:
nc_data:
# Uruchomienie
docker compose up -d
# Sprawdzenie stanu
docker compose ps