portainer auf der synology – docker aber richtig
Wenn man auf einer Synology einen Docker Host betreibt, sollte eine ordentliche Admin Oberfläche nicht fehlen. Natürlich bietet das Docker-Paket eine integrierte Verwaltung im DSM mit an. Leider ist diese nur für Start/Stop Aktionen zu gebrauchen. Und sogar das klappt nicht immer.
Portainer hingegen ist eine ganz andere Klasse von Administration und diesen gibt es auch als Container. Dieser lässt sich aber nicht über die DSM-Oberfläche zur Mitarbeit bewegen, da das einzubindende Volumen nicht erreichbar ist.
Um dieses kleine Problem zu lösen, gibt es Möglichkeiten, ein Kommando zum Start auch über den Taskmanager der Synology zu realisieren. Aber das halte ich für keinen guten Weg. Ich denke, dass jeder, der sich mit Docker beschäftigt, sicher auch an seine Synology per SSH bekommt.
Beim Aufruf muss der Container, der dann später Docker administrieren soll, auch Zugriff auf die docker.sock bekommen. Das ist die API-Schnittstelle, um Docker von außen zu steuern.
Das Verzeichnis “/var/run/” liegt aber auf dem root Filesystem, welches schwer zu erreichen ist.
Per Konsole ist der Container aber auch recht schnell (mit den richtigen Optionen gestartet).
docker run -d -p 9000:9000 --name portainer --restart always -v /var/run/docker.sock:/var/run/docker.sock -v /volume1/docker/portainer_data:/data portainer/portainer
- “docker run” Starten des Containers
- “-d” “detached modus”
- “-p 9500:9000” öffnet Port 9500 für den Zugriff im Browser
- “–name portainer” Name des Containers
- “–restart always” Automatischer Neustart
- “-v /var/run/docker.sock:/var/run/docker.sock” Zugriff auf die API
- “-v /volume1/docker/portainer_data:/data” Konfig-Dateien sollen auf das externe Volume
- “portainer/portainer” Grundlage des Containers aus dem Web (Download)
Über http://[IP_synology]:9500
kommt man dann auf den gestarteten Container für die Erstkonfiguration.
Nachdem der Admin ein Kennwort bekommen hat, muss portainer noch mit dem lokalen Docker Host verbunden werden. “Local” ist hier der richtige Punkt. Mit “Connect” testet ihr die Verbindung.
Sollte das geklappt haben, habt ihr alles richtig gemacht. Nun könnt Ihr alles Notwendige auch über eine schnelle GUI administrieren.
Vielen Dank für die geniale Anleitung!