In diesem kleinen Block möchte ich Portainer CE in einem Container starten und installieren.
Portainer CE ist ein Grafischer Zugang zu Docker und erlaubt es Docker außerhalb der Kommandozeile zu administrieren.
Zuerst erstelle ich mir ein self signed Zertifikat was ich für meine SSL Verbindung nutze.
mkdir -p /portainer/certs
openssl genrsa -out /portainer/certs/portainer.key 2048
openssl ecparam -genkey -name secp384r1 -out /portainer/certs/portainer.key
openssl req -new -x509 -sha256 -key /portainer/certs/portainer.key -out /portainer/certs/portainer.crt -days 3650
Jetzt wird noch ein Data Verzeichnis angelegt und der Container gestartet.
mkdir /portainer/data
docker run -d -p 9000:9000 --name portainer --rm \
-v /portainer/certs:/certs \
-v /portainer/data:/data \
-v /var/run/docker.sock:/var/run/docker.sock \
portainer/portainer --ssl --sslcert /certs/portainer.crt --sslkey /certs/portainer.key
Nachdem Aufuf, ist Portainer CE unter https://localhost:9000 erreichbar. Da ich den Docker Sock hinzugefügt habe funktioniert der local Docker bereits. Um einen regelmäßigen Start zu gewährleisten erstelle ich eine System Unit damit ich mit den Gängen Befehlen (systemclt,co) arbeiten kann.
cat << EOF > /etc/systemd/system/portainer-docker.service
[Unit]
Description=portainer Docker
After=docker.service
Requires=docker.service
[Service]
TimeoutStartSec=1min
TimeoutStopSec=90s
Restart=always
RestartSec=10s
StartLimitInterval=0
ExecStartPre=-/usr/bin/docker stop portainer
ExecStop=/usr/bin/docker stop protainer
ExecStart=/usr/bin/docker run -p 9000:9000 --name portainer --rm -v /portainer/certs:/certs -v /portainer/data:/data -v /var/run/docker.sock:/var/run/docker.sock portainer/portainer --ssl --sslcert /certs/portainer.crt --sslkey /certs/portainer.key
[Install]
WantedBy=multi-user.target
EOF
Die letzten beiden Befehle Laden die Unit und starten sie beim Systemstart.
systemctl daemon-reload
systemctl enable portainer-docker.service
Neueste Kommentare