1
0

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í

Při prvním spuštění se automaticky spustí průvodce konfigurací, který vytvoří soubor .env s potřebnými nastaveními.

Budete dotázáni na:

  • Development domain name - doména pro lokální vývoj (výchozí: dev.linuxak.com)
  • External Docker network name - název externí sítě pro kontejnery (výchozí: traefiknet)
  • HTTPS redirect - vynucené přesměrování HTTP na HTTPS (výchozí: true)

Tip: Stačí mačkat Enter pro použití výchozích hodnot, které jsou plně funkční.

Přednastavenou doménu dev.linuxak.com můžete ponechat - směřuje na IP 127.0.0.1 (váš lokální počítač).

2. Certifikáty pro HTTPS

Traefik používá námi integrovaný vlastní certifikát pro HTTPS komunikaci. Pro správné fungování je potřeba importovat traefik/certs/rootCA.pem do důvěryhodných certifikátů vašeho operačního systému.

Integrovaný certifikát je platný pro:

  • dev.linuxak.com a všechny subdomény (*.dev.linuxak.com)
  • localhost
  • IP adresu 127.0.0.1
  • Platnost: do 27. února 2036

Poznámka: Pokud změníte DEV_URL na jinou doménu než výše uvedené, bude potřeba dodat vlastní certifikát pro HTTPS komunikaci.

2.1 Import CA do systému

Linux (CentOS/RHEL/Fedora)

sudo cp traefik/certs/rootCA.pem /etc/pki/ca-trust/source/anchors/linuxak-dev-ca.crt
sudo update-ca-trust

Linux (Ubuntu/Debian)

sudo cp traefik/certs/rootCA.pem /usr/local/share/ca-certificates/linuxak-dev-ca.crt
sudo update-ca-certificates

MacOS

sudo security add-trusted-cert -d -r trustRoot -k /Library/Keychains/System.keychain traefik/certs/rootCA.pem

Windows (PowerShell jako Admin)

Import-Certificate -FilePath "traefik/certs/rootCA.pem" -CertStoreLocation Cert:\LocalMachine\Root

3. Spuštění

./run up         # Spustit stack (při prvním spuštění se spustí průvodce konfigurací)
./run restart    # Restartovat stack
./run down       # Zastavit stack

Při prvním spuštění ./run up budete provedeni konfigurací - stačí postupovat podle pokynů na obrazovce.

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í (automaticky vytvořen při prvním spuštění)
├── 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ázvem 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>
Description
Cross-platform docker stack pro lokální vývoj s Traefikem a Portainerem
Readme 52 KiB
Languages
Shell 100%