Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
|
projekte:docker:portainer:start [2022/11/15 10:12] admin |
projekte:docker:portainer:start [2022/12/07 09:51] (aktuell) admin |
||
|---|---|---|---|
| Zeile 2: | Zeile 2: | ||
| Portainer bietet eine grafische Oberfläche zur Verwaltung des Docker Swarm. | Portainer bietet eine grafische Oberfläche zur Verwaltung des Docker Swarm. | ||
| + | |||
| + | ===== Vorbereitung ===== | ||
| + | |||
| + | Zuerst brauchen wir ein Datenverzeichnis für Portainer auf unserem NFS-Share: | ||
| + | mkdir / | ||
| + | |||
| + | ===== Laden der YML Datei ===== | ||
| Portainer (dockerman01): | Portainer (dockerman01): | ||
| < | < | ||
| - | curl -L https:// | + | curl -L https:// |
| </ | </ | ||
| - | Damit holt man sich erstmal das YML Manifest welches im Prinzip eine Docker Compose Datei ist. | + | Damit holt man sich erstmal das YML Manifest welches im Prinzip eine Docker Compose Datei ist. Diese werden wir noch ein bisschen anpassen. Interessant ist das ce2-16 (Community Edition) in der URL da es auch eine ee (Enterprise Edition) Version gibt für die man allerdings Lizenzen braucht. |
| + | |||
| + | |||
| + | ===== Konfiguration von Portainer ===== | ||
| < | < | ||
| version: ' | version: ' | ||
| Zeile 14: | Zeile 25: | ||
| services: | services: | ||
| agent: | agent: | ||
| - | image: portainer/ | + | image: portainer/ |
| volumes: | volumes: | ||
| - / | - / | ||
| Zeile 26: | Zeile 37: | ||
| portainer: | portainer: | ||
| - | image: portainer/ | + | image: portainer/ |
| command: -H tcp:// | command: -H tcp:// | ||
| ports: | ports: | ||
| Zeile 33: | Zeile 44: | ||
| - " | - " | ||
| volumes: | volumes: | ||
| - | - portainer_data:/data | + | - / |
| networks: | networks: | ||
| - agent_network | - agent_network | ||
| Zeile 46: | Zeile 57: | ||
| driver: overlay | driver: overlay | ||
| attachable: true | attachable: true | ||
| + | </ | ||
| + | Ich habe das volume gändert da ich für jeden Container ein eigenes Verzeichnis für die persistenten Daten habe: | ||
| + | volumes: | ||
| + | - portainer_data:/ | ||
| + | in | ||
| + | volumes: | ||
| + | - / | ||
| + | Dann kann am Ende die Definition des Docker Volumes gelöscht werden, diese beiden Zeilen kommen ersatzlos weg: | ||
| volumes: | volumes: | ||
| portainer_data: | portainer_data: | ||
| - | </ | ||
| + | Ebenso habe ich bei den beiden image: Angaben die Versionsnummer auf " | ||
| + | Anschliessend kann Portainer geladen und gestartet werden: | ||
| + | |||
| + | ===== Laden und Starten ===== | ||
| < | < | ||
| docker stack deploy -c portainer-agent-stack.yml portainer | docker stack deploy -c portainer-agent-stack.yml portainer | ||
| </ | </ | ||
| + | |||
| + | Jetzt muss man nur noch einen Moment warten bis die Portainer Container gestartet sind. Direkt nach dem Deploy sieht das noch so aus: | ||
| + | < | ||
| + | root@dockerman01:/ | ||
| + | ID | ||
| + | sb392p1tmj3v | ||
| + | lb32q69txxhd | ||
| + | </ | ||
| + | Das heisst die Services sind bekannt, es laufen 0 von 4 Portainer Agenten und 0 von einem Portainer Server. Die Inhalte der Container werden gerade im Hintergrund geladen und dann gestartet. Bei mir hat das so ca. eine Minute gedauert aber das hängt ntürlich auch von der Internetgeschwindigkeit ab da diese aus dem Internet geholt werden. | ||
| + | |||
| + | Irgendwann sieht das dann so aus und Portainer ist installiert und läuft: | ||
| + | < | ||
| + | root@dockerman01:/ | ||
| + | ID | ||
| + | sb392p1tmj3v | ||
| + | lb32q69txxhd | ||
| + | </ | ||
| + | |||
| + | ===== Aufruf im Browser ===== | ||
| + | |||
| + | Und jetzt kann man endlich per https:// | ||
| + | |||
| + | {{: | ||
| + | Danach bekommt man eine erste Übersicht über den Docker Swarm | ||
| + | {{: | ||
| + | |||
| + | Sollte man beim ersten Start zu lange warten bis man Portainer aufruft, z.B. weil man ein Wiki pflegt, kann es zu folgender Fehlermeldung kommen: | ||
| + | |||
| + | {{: | ||
| + | |||
| + | Dann einfach den Portainer Container neu starten: | ||
| + | |||
| + | < | ||
| + | root@dockerman02: | ||
| + | CONTAINER ID | ||
| + | abc2e16a8abe | ||
| + | 168559a04656 | ||
| + | </ | ||
| + | Und mit der ID des containers diesen neu starten: | ||
| + | |||
| + | docker container restart abc2e16a8abe | ||