3.3 KiB
Local Docker Management
Traefik
- Reverzní proxy
- Validní https pro lokální vývoj (wildcard certifikát s vlastním CA)
- Přizpůsobitelné nastavení nuceného přesměrování HTTP na HTTPS
- Připojení dalších (vlastních) služeb pomocí Traefik labels
- Dashboard pro monitorování a správu routování
Portainer
- Webové rozhraní pro správu kontejnerů, obrazů, sítí i volumů
- Podpora Docker, Compose, Swarm i Kubernetes
- Persistentní úložiště dat (složka
portainer)
Požadavky
- Docker & Docker Compose
Instalace
1. Konfigurace prostředí
# Zkopírujte soubor .env.example na .env
cp .env.example .env
V případě nutnosti upravte hodnoty dle svých nastavení
DEV_URL - doména používaná pro lokální vývoj
EXTERNAL_NETWORK - název externí sítě, kterou používáte pro své kontejnery
FORCE_HTTPS_REDIRECT - nastavení vynuceného přesměrování HTTP na HTTPS (true/false)
Poznámka:
Přednastavenou doménu
dev.linuxak.commůžete ponechat. Je plně funkční a směřuje na IP adresu127.0.0.1tedy na váš lokální počítač. Můžete ponechat i přednastavený název externí sítě.
2. Import CA do systému
Traefik používá pro doménu dev.linuxak.com vlastní certifikát pro HTTPS komunikaci. Pro správné
fungování je potřeba importovat rootCA.pem do důvěryhodných certifikátů vašeho operačního systému.
MacOS
sudo security add-trusted-cert -d -r trustRoot -k /Library/Keychains/System.keychain traefik/certs/rootCA.pem
Linux (Ubuntu/Debian)
sudo cp traefik/certs/rootCA.pem /usr/local/share/ca-certificates/linuxak-dev-ca.crt
sudo update-ca-certificates
Linux (CentOS/RHEL/Fedora)
sudo cp traefik/certs/rootCA.pem /etc/pki/ca-trust/source/anchors/linuxak-dev-ca.crt
sudo update-ca-trust
Windows (PowerShell jako Admin)
Import-Certificate -FilePath "traefik/certs/rootCA.pem" -CertStoreLocation Cert:\LocalMachine\Root
3. Spuštění
./run up # Spustit stack
./run restart # Restartovat stack
./run down # Zastavit stack
Přístup ke službám
| Služba | URL |
|---|---|
| Traefik Dashboard | https://traefik.dev.linuxak.com |
| Portainer | https://portainer.dev.linuxak.com |
Struktura
Stack/
├── docker-compose.yml # Definice služeb
├── run # Skript pro správu
├── .env # Konfigurace prostředí
├── traefik/ # Traefik konfigurace, certifikáty a logy
└── portainer/ # Portainer data
Připojení vaší služby do Traefiku
Do vašeho docker-compose.yml přidejte Traefik labels:
<VASE_URL> - nahraďte skutečnou doménou své služby
<VAS_PORT> - nahraďte skutečným portem své služby
<VASE_EXTERNI_SIT> - nahraďte skutečným názvem své externí sítě
Příklad pro službu s náyvem myapp:
labels:
- "traefik.enable=true"
- "traefik.http.routers.myapp.rule=Host(`myapp.<VASE_URL>`)"
- "traefik.http.routers.myapp.entrypoints=websecure"
- "traefik.http.routers.myapp.tls=true"
- "traefik.http.services.myapp.loadbalancer.server.port=<VAS_PORT>"
networks:
- <VASE_EXTERNI_SIT>