Ich versuche, die Option COMMAND in Docker komponieren zu bekommen. In meinem aktuellen docker-compose.yml starte ich das Prosodie-Docker-Image (https://github.com/prosody/prosody-docker) und ich möchte eine Liste von Benutzern erstellen, wenn der Container tatsächlich gestartet wird.Docker Kompilieren und Ausführen von Befehl beim Starten des Containers
Die Dokumentation des Containers besagt, dass ein Benutzer mit den Umgebungsoptionen LOCAL, DOMAIN, and PASSWORD
erstellt werden kann, aber dies ist ein einzelner Benutzer. Ich brauche eine Liste von Benutzern.
Beim Lesen einiger Dinge im Internet schien es, dass die Befehlsoption i in der Lage sein sollte, Befehle in einem startenden oder laufenden Container auszuführen.
xmpp:
image: prosody/prosody
command: prosodyctl register testuser localhost testpassword
ports:
- "5222:5222"
- "127.0.0.1:5347:5347"
Aber das scheint nicht zu funktionieren, überprüft i Behälter läuft docker exec -it <imageid> bash
verwenden, aber der Benutzer erstellt wird, nicht.
Kann ich einen Befehl für einen gestarteten Container mit docker-compose ausführen oder gibt es andere Optionen?
Die Befehlsoption überschreibt den Standardbefehl aus dem Andockcontainer, sodass sie nicht für das verwendet werden kann, was Sie möchten. Vielleicht können Sie ein Skript erstellen, das zuerst Ihre Umgebung mit 'docker-compose start' startet und dann' docker exec prosodyctl register ... verwendet, um Benutzer in diesem Container zu erstellen? –
Eelco