Deployn

Anleitung für den Container Manager Portainer hinter Traefik

In dieser Anleitung geht es um den Container Manager Portainer, der hinter Traefik als Reverse-Proxy Manager eingerichtet werden soll.

Anleitung für den Container Manager Portainer hinter Traefik-heroimage

Inhaltsverzeichnis

Mir ist grundsätzlich lieber meine Docker-Container direkt über meinen Server zu steuern oder Lazydocker zur visuellen Hilfe dazuzunehmen. Manchmal (insbesondere unterwegs) ist es jedoch auch praktisch keine SSH-Verbindung zum Server herstellen zu müssen, um bestimmte Container zu verwalten oder mir die Logs anzusehen. An dieser Stelle kommt Portainer ins Spiel.

Portainer | Open Source Container Management GUI for Kubernetes, Docker, Swarm Portainer is the definitive open source container management GUI for Kubernetes, Docker, Swarm and ACI.

Als Reverse-Proxy sollte für meine Konfigurationsdatei Traefik, wie hier beschrieben, eingerichtet sein. Anschließend brauchen wir einen Ordner für die Daten und die Docker-Compose Datei.

cd ~/docker
mkdir appdata/portainer/data -p
nano docker-compose-portainer.yml

In diese Datei fügen wir folgenden Text ein.

version: "3.7"

### NETWORKS ###
networks:
    web:
        external:
            name: web
    default:
        driver: bridge

### Services ###
services:
    portainer:
        container_name: portainer
        image: portainer/portainer-ce:latest
        restart: unless-stopped
        command: -H unix:///var/run/docker.sock
        networks:
            - web
        security_opt:
            - no-new-privileges:true
        volumes:
            - /var/run/docker.sock:/var/run/docker.sock:ro
            - $DOCKERDIR/appdata/portainer/data:/data
        environment:
            - TZ=$TZ
        labels:
            - "traefik.enable=true"
            - "traefik.http.routers.portainer-rtr.entrypoints=https"
            - "traefik.http.routers.portainer-rtr.rule=Host(`portainer.$DOMAINNAME`)"
            - "traefik.http.routers.portainer-rtr.tls=true"
            #      - "traefik.http.routers.portainer-rtr.middlewares=chain-basic-auth@file" # Basic Authentication
            - "traefik.http.routers.portainer-rtr.middlewares=chain-oauth@file" # Google Authentication
            - "traefik.http.routers.portainer-rtr.service=portainer-svc"
            - "traefik.http.services.portainer-svc.loadbalancer.server.port=9000"

Wir nutzen dabei das offizielle Image.

docker-compose -f docker-compose-portainer.yml up -d

Fertig. Unter unserer Portainer-Subdomain sollte nun Portainer zu sehen sein.

Ein Update auf einen späteren Release lässt sich auch sehr einfach durchführen.

docker-compose -f docker-compose-portainer.yml pull
docker-compose -f docker-compose-portainer.yml down
docker-compose -f docker-compose-portainer.yml up -d

Diese Website verwendet Cookies. Diese sind notwendig, um die Funktionalität der Website zu gewährleisten. Weitere Informationen finden Sie in der Datenschutzerklärung