Einfache Aktualiseriung von portainer.io mittels docker-compose.yml

Zur einfachen Verwaltung von Docker Containern verwende ich portainer. Als ich die mehrschrittige Aktualisierung irgendwann so leid war, habe ich eine Docker Compose Konfiguration gebaut. Diese teile ich mit euch in diesem Beitrag.

Wer portainer noch nicht kennt, der kann sich hier darüber informieren.

Orientiert habe ich mich dabei an den offiziellen Installations-Schritten für einen einzelen (standalone) Docker Host unter Linux. Und so sieht meine Docker Compose Konfiguration „docker-compose.yml“ für portainer aus.

version: '3'

services:
  portainer:
    image: portainer/portainer:latest
    container_name: portainer
    restart: always
    ports:
      - 9000:9000
      - 8000:8000
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - portainer_data:/data
volumes:
  portainer_data:

Zum Start des Containers über Docker Compose müsst ihr im gleichen Verzeichnis sein, wie die Datei „docker-compose.yml“.

docker-compose up -d

Die Aktualisierung erfolgt dann in drei Schritten

  1. Aktuelle Version des Container Images herunterladen
docker-compose pull

2. portainer Container mit den neuen Image starten

docker-compose up --no-deps --force-recreate --build --remove-orphans -d

3. Nicht mehr benötigte, veraltete Images löschen

docker image prune

Das war’s schon. Wenn ihr Fragen oder Anregungen habt, gerne in die Kommentare.

10 Kommentare

  1. Hallo!
    Nachdem ich Ihrem Tutorial hier gefolgt bin, konnte ich Portainer nicht mehr auf Port 9000 erreichen.
    Ich habe es nunmehr auf herkömmlichem Weg neu installiert.

    1. Moin Stefan,

      hast du die Konfiguration 1:1 so übernommen oder noch etwas geändert? Und, hast du portainer zuvor nach der offiziellen Anleitung gestartet?

      Gruß
      Thomas

      1. In Deiner docker-compose.yaml wird der Portainer Port 9000 auf den lokalen Port 8999 gemapped (8999:9000). Daher hat das bei Stefan nicht mehr funktioniert.

      2. Moin!

        Stefan hat das problem weil im artikel port 9000 von portainer auf port 8999 beim host gelegt wird.
        Standard bei portainer ist 9000:9000 und nicht 8999:9000

    2. Ohne gemein klingen zu wollen, aber hier sieht man warum Copy-Paste ohne Prüfung nach hinten los gehen kann. Der Autor ist eine Zeile verrutscht und hat port 8999 statt 9000 am Host freigegeben.

      Das ist etwas was sofort auffällt wenn man sich das compose file anschaut. Aber wenn man blindes Copy-Pasting betreibt geht es natürlich nach hinten los.

    3. ja klar, schau mal unter welchem Port jetzt Portainer erreichbar ist ; Sektion ports…8999 auf 9000 also ist Portainer extern jetzt über Port 8999 erreichbar…

    4. Falls du die Konfiguration 1:1 übernommen hast, wird Portainer auf Port 8999 auf dem lokalen System zur Verfügung gestellt, warum der Autor diese Anpassung vorgenommen hat, kann ich leider nicht sagen (vermutlich hatte er den Port 9000 schon anderweitig belegt).

  2. Danke an alle die mit Ihren Kommentaren unterstütz haben. Ich habe meine Konfig oben aktualisiert. Der Fehler mit dem Port Mapping ist mir nicht aufgefallen weil ich einen älteren Stand hier dokumentiert hatte als ich tatsächlich am Laufen hatte!

Schreibe einen Kommentar

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