Wie kann ich einen Datencontainer nur mit docker-compose.yml erstellen?
Diese Frage kommt von einem Thema auf das Docker-repository mit:
https://github.com/docker/compose/issues/942
Ich kann nicht herausfinden, wie das erstellen einer Daten-container (kein Prozess läuft) mit docker compose.
InformationsquelleAutor der Frage ivan | 2015-10-02
Du musst angemeldet sein, um einen Kommentar abzugeben.
Genau, wie zu tun, es hängt auch ein wenig auf das, was Bild, das Sie verwenden für Ihre Daten-nur-container. Wenn Ihr Bild hat eine
entrypoint
die Sie benötigen, überschreiben Sie diese in Ihremdocker-compose.yml
. Zum Beispiel ist dies eine Lösung für die offizielle MySql-image aus dem docker hub:Wenn Sie eine
docker-compose up
auf dieser erhalten Sie einen container wie..._DatabaseData_1
was zeigt den statusExited
beim Aufrufdocker ps -a
. Eine weitere Untersuchung mitdocker inspect
zeigen, dass es hat einen timestamp von0
. Das bedeutet, dass der container wurde nie ausgeführt. Wie heißt es von dem Besitzer von docker compose hier.Nun, solange Sie nicht
docker-compose rm -v
Ihre Daten nur container (..._DatabaseData_1
) wird nicht verlieren Ihre Daten. So können Siedocker-compose stop
unddocker-compose up
so oft wie Sie möchten.Im Fall Sie möchten einen dedizierten Daten-nur-Bild wie
tianon/true
dies funktioniert auf die gleiche. Hier brauchen Sie nicht zu überschreibenentrypoint
weil es nicht existiert. Wie es scheint, gibt es einige Probleme mit diesem image und docker compose. Ich habe es nicht ausprobiert, aber dieser Artikel Wert sein könnte, Lesen Sie in den Fall, Sie irgendwelche Probleme auftreten.Im Allgemeinen scheint es eine gute Idee sein, verwenden Sie das gleiche Bild für Ihre Daten-nur container, die Sie für den container zugreifen. Sehen Daten-nur container-Wahnsinn für mehr details.
InformationsquelleAutor der Antwort Jan Suchotzki
Einen nur Daten-container (DOC) ist ein container, die nur erstellt wird, um zu dienen als Volumen-Anbieter. Der Behälter selbst hat keine andere Funktion als die, dass andere Container mounten können Sie die Lautstärke mithilfe der
volumes_from
Richtlinie.Der DOC hat nur einmal ausgeführt werden, um den Datenträger zu erstellen. Andere Behälter können auf den volumes selbst wenn es beendet wird.
Die OP-Frage:
Die
docker-compose.yml
beginnt der DOC jedes mal, wenn Sie einedocker-compose up
. OP fragt nach einer option, um nur erstellen, container und Volumen, und es nicht ausführen, mithilfe einer Artcreate_only: true
option.InformationsquelleAutor der Antwort Robert Merkwürdigeliebe
Als erwähnen, in dem das Problem von den OP ' s Frage:
docker-compose.yml
und führen Siedocker-compose up --no-recreate
(angegeben indocker-compose.yml
wird nicht neu erstellt werden).Wie:
tail -f /dev/null
InformationsquelleAutor der Antwort VonC