Portainer.io CE (Community Edition) ist eine Open-Source-Management-Plattform für Docker-Container und Kubernetes. Es bietet eine grafische Benutzeroberfläche, mit der Benutzer ihre Container, Netzwerke und Volumes einfach verwalten können, ohne komplexe CLI-Befehle verwenden zu müssen. Es unterstützt mehrere Umgebungen und bietet Funktionen wie Benutzer- und Zugriffsverwaltung, App-Deployment und Monitoring.
Es richtet sich an Entwickler und Administratoren, die Container-Infrastrukturen effizienter und intuitiver verwalten wollen. Infos zu Portainer.io CE hier.
Wenn man keine eigenen Zertifikate verwendet, werden eigenen selbstsignierte verwendet. Es gehen noch keine Zertifikate mit Elliptischen-Kurven (EC), deshalb RSA generieren! Wie man die Keys erzeugt mit der XCA habe ich schon mal hier beschrieben. Nun wollen wir Portainer mal im Docker laufen lassen. Docker muss schon installiert sein. Die docker-compose.yml Datei erstellen wie z.B. hier:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
services: portainer: image: portainer/portainer-ce:latest restart: always ports: - 9443:9443 # der https Port volumes: - /var/run/docker.sock:/var/run/docker.sock - /home/thomaswenzlaff/portainer/portainer_data:/data - ~/portainer/certs:/certs # der Pfad wo das rsa Zertifikat und der Key liegen command: --sslcert /certs/rsa-zertifikat.crt # das public Zertifikat --sslkey /certs/rsa-priv-key.pem # der private Key für das Zertifikat |
Die möglichen Werte für die restart-Option sind:
no: Der Container wird nicht automatisch neu gestartet (Standard).
always: Der Container wird immer neu gestartet, egal aus welchem Grund er gestoppt wurde.
on-failure: Der Container wird nur neu gestartet, wenn er aufgrund eines Fehlers beendet wurde (Exit-Code ungleich 0).
unless-stopped: Der Container wird immer neu gestartet, es sei denn, er wurde manuell gestoppt.
Wenn du also möchtest, dass deine Container nach einem Neustart des Systems automatisch hochfahren, setze die restart-Policy auf always oder unless-stopped.
Die Stucktur sieht dann so aus:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
~/portainer $ tree . ├── certs │ ├── rsa-priv-key.pem │ └── rsa-zertifikat.crt ├── docker-compose.yml └── portainer_data ├── bin ├── certs ├── chisel ├── compose ├── docker_config ├── portainer.db ├── portainer.key ├── portainer.pub └── tls |
Und einfach docker-compose up -d und Portainer läuft unter https://pi-vier:9443 mit eigenen Zertifikaten.