Portainer läuft ebenfalls in einem Container, dessen Aufbau in der unten folgenden Compose-Datei (docker-compose.yml) eingetragen wurde.
Das Kennwort für den Benutzer admin an der Oberfläche kann mit dem Befehlt htpasswd erstellt werden.
Da lokal kein Apache mit dem Tool htpasswd installiert ist, rufe ich das Tool ebenfalls über docker auf:
docker run --rm httpd:2.4-alpine htpasswd -nbB admin password| cut -d ":" -f 2 $2y$05$k44aM4mO58fJNZpHg3pOFOhs3zsJlRN9s3k0A/vqQ.YyFoiq.v4mW
Die generierte Zeichenkette kann als Option („–admin-password“) in der Compose-Datei eingetragen werden.
Dabei muss man beachten, dass das Sonderzeichen $ (Dollar-Symbol) durch ein zweites Dollar-Symbol escaped werden muss.
docker-compose.yml
version: '3.3' services: portainer: image: portainer/portainer container_name: portainer command: --admin-password $$2y$$05$$k44aM4mO58fJNZpHg3pOFOhs3zsJlRN9s3k0A/vqQ.YyFoiq.v4mW volumes: - /srv/www/portainer:/data - /var/run/docker.sock:/var/run/docker.sock ports: - 9000:9000 networks: default: external: name: nginx-proxy
Lösung für die Fehlermeldung:
ERROR: Invalid interpolation format for "command" option in service "portainer": "--admin-password $2y$05$k44aM4mO58fJNZpHg3pOFOhs3zsJlRN9s3k0A/vqQ.YyFoiq.v4mW"
Der Fehler kann durch die Verdopplung der Dollar-Zeichnen vermieden werden.