Hier zeige ich euch, wie ihr Portainer mittels Docker installiert und per Traefik adressieren könnt.

1. Verzeichnis erstellen

Zuerst erstellen wir uns ein passendes Verzeichnis.

mkdir -p /opt/containers/portainer

2. Docker Compose Datei erstellen

Nun erstellen wir unsere Docker Compose Datei. In dieser Datei sind bereits die passenden Einstellungen für Traefik enthalten. Wenn ihr noch kein Traefik installiert habt, dann könnt ihr dies mit dieser Anleitung tun.

nano /opt/containers/portainer/docker-compose.yml

Inhalt:

version: '3'

services:
  portainer:
    image: portainer/portainer:latest
    container_name: portainer
    restart: unless-stopped
    security_opt:
      - no-new-privileges:true
    networks:
      - proxy
    volumes:
      - /etc/localtime:/etc/localtime:ro
      - /var/run/docker.sock:/var/run/docker.sock:ro
      - ./data:/data
    labels:
      - "traefik.enable=true"
      - "traefik.http.routers.portainer.entrypoints=http"
      - "traefik.http.routers.portainer.rule=Host(`portainer.euredomain.de`)"
      - "traefik.http.middlewares.portainer-https-redirect.redirectscheme.scheme=https"
      - "traefik.http.routers.portainer.middlewares=portainer-https-redirect"
      - "traefik.http.routers.portainer-secure.entrypoints=https"
      - "traefik.http.routers.portainer-secure.rule=Host(`portainer.euredomain.de`)"
      - "traefik.http.routers.portainer-secure.tls=true"
      - "traefik.http.routers.portainer-secure.tls.certresolver=http"
      - "traefik.http.routers.portainer-secure.service=portainer"
      - "traefik.http.services.portainer.loadbalancer.server.port=9000"
      - "traefik.docker.network=proxy"

networks:
  proxy:
    external: true

Notwendige Anpassungen:

  1. Ihr müsst noch den Hostnamen anpassen (portainer.euredomain.de)

3. Portainer starten

Nun könnt ihr schon Portainer nutzen. Gebt dazu folgendes ein:

docker-compose -f /opt/containers/portainer/docker-compose.yml up -d

4. Konfigurieren

Nun geht ihr auf „portainer.euredomain.de“. Dort solltet ihr jetzt folgendes sehen.

Im nächsten Schritt wählt ihr „Local“ aus, wenn alle eure Docker Container auf diesem Server laufen.

Jetzt habt ihr einen Überblick über eure laufenden Docker Container.

Teile diesen Beitrag
Christian

Categories:

9 Kommentare

  1. Hallo Christian,

    Dank deinen Anleitungen konnte ich schon einige Service mit Docker in Betrieb nehmen (z.B. Traefik, Nextcloud,etc.).

    Nun wollte ich mal den Portainer ausprobieren. Wie immer nach deiner Anleitung.
    Beim starten (docker-compose -f pfad/zu/docker-compose.yml up) scheint es mir auch keine Fehler zu generieren und ich kann den Container starten. Doch beim Aufrufen von portainer.domain.xy sagt er mir dann:

    Beim Verbinden mit portainer.domain.xy trat ein Fehler auf. Die Gegenstelle meldet, dass sie auf einen internen Fehler gestoßen ist.
    Fehlercode: SSL_ERROR_INTERNAL_ERROR_ALERT

    Woran könnte das liegen? portainer.euredomain.de habe ich angepasst. Der Rest ist identisch.

    Besten Dank und Gruss
    Gabriel

    • Hallo,

      prima Anleitungen – vielen Dank dafür.

      Bei Portainer habe ich exakt den gleichen Fehler wie Gabriel. Kannst du hier helfen?

      Gruß
      Christian

        • Hallo Christian,

          die GUI von Traefik funktioniert ohne Probleme und zeigt auch keine Fehler bei Portainer an. Aber auch nach warten, bleibt der SSL Fehler wie bei Gabriel, egal welchen Browser ich verwende: Safari, Firefox und chrome zeigen SSL Fehler.

          Gruß Christian

  2. Ja habe ich gemacht. Nextcloud und Traefik funktionieren auch entsprechend ohne Probleme.

    Habe exakt die yml kopiert und die Hosts an beiden Stellen mit meiner url ausgetauscht. Auch Traefik und nextcloud sind nach deiner Anleitung und funktionieren auch.

    VG
    Christian

  3. Hallo Christian,

    erst einmal Danke, für all die ganzen Anleitungen. Ich bin selbst Liebhaber der IT, aber hatte leider nicht das Glück, zwecks Abitur und warte nun sehnsüchtig auf eine IT-Ausbildung, hoffentlich klappt dies.

    Nun zu meiner Frage: Wie kommst du auf den Loadbalancerport von 9000? Sollte der nicht auf 80 gesetzt werden?

    Auf meinem Root laufen einige Container über Traefik + Docker, u. a. TS3 (ohne Traefik), aber dafür mit einer gewissen Portrange, u. a. 9000. Würde sich doch dann beißen oder?

    Hab das noch nicht so raus, wie das mit den Ports für die Loadbalancers am sinnvollsten ist. Kannst du dazu ein Feedback bitte geben?

    Viele Grüße
    Marcel

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.