1
0
Files
local-docker-mngt/README.md

3.0 KiB

Local Docker Management - Traefik & Portainer

Docker stack s reverse proxy (Traefik) a webovým rozhraním pro správu kontejnerů (Portainer).

Požadavky

  • Docker & Docker Compose
  • Nastavené DNS záznamy nebo /etc/hosts

Instalace

1. Konfigurace prostředí

# Přejmenujte soubor .env.example na .env
mv .env.example .env

# Upravte .env soubor dle svých nastavení
DEV_URL=dev.linuxak.com
EXTERNAL_NETWORK=traefiknet

Poznámka:

Doménu dev.linuxak.com můžete ponechat, směřuje na 127.0.0.1 tedy na váš lokální počítač. Pokud chcete použít jinou doménu, nezapomeňte ji přidat do vašeho /etc/hosts souboru a vygenerovat novou sadu certifikátů pro tuto doménu.

2. Import CA do systému

Traefik používá 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

Persistence

Složka portainer je persistentním úložištěm pro službu Portainer a všechna data této služby zůstanou uložená i po vypnutí stacku, dokud je ručně nesmažete.

Připojení vaší služby do Traefiku

Do vašeho docker-compose.yml přidejte Traefik labels:

Hodnotu <VASE_URL> nahraďte skutečnou doménou své služby.
Hodnotu <VAS_PORT> nahraďte skutečným portem své služby.
Hodnotu <VASE_EXTERNI_SIT> nahraďte skutečným náyvem své externí sítě.

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>