2016-12-15 5 views

Antwort

0

Da Volumen Bindungen verwendet werden, wenn Sie einen Container erstellen, können Sie nicht definieren sie im Dockerfile (das verwendet wird Ihren Docker Bild, nicht die Behälter zu bauen).

Wenn Sie einen Weg wollen die Lautstärke Bindungen zu definieren, ohne sie jedes Mal eingeben zu müssen, haben Sie folgende Möglichkeiten:

  • Erstellen Sie ein Skript, das den docker Befehl ausgeführt wird und enthält alle Volumenoptionen.
  • Wenn Sie mehr als ein Behälter ausführen möchten, können Sie auch Docker Compose verwenden und die Lautstärke-Bindungen in der docker-compose.yaml Datei definieren: https://docs.docker.com/compose/compose-file/#/volumes-volumedriver

aus den beiden, ziehe ich Docker Compose, da es viele beinhaltet von anderen coolen Funktionen, z Hier können Sie die Port-Bindungen definieren, Verbindungen zwischen Containern usw. herstellen. Sie können all das auch in einem Skript ausführen, aber sobald Sie mehr als einen Container gleichzeitig für dieselbe Anwendung verwenden (z. B. einen Webserver-Container) Sprechen mit einem Datenbank-Container), Docker Compose macht sehr viel Sinn, da Sie die Konfiguration an einem Ort haben und Sie alle Container mit einem einzigen Befehl starten/stoppen können.

+0

Wenn Sie ein Beispiel wie es in einer docker-compose.yml-Datei getan wird, können Sie einen Blick auf meine Repo: https://github.com/onlinespaces/docker-project-base – ScottCollier

+0

@nwinkler Nur eine weitere Frage, ich habe eine "Dockerfile", wird es immer noch bleiben, während ich eine 'docker-compose.yml' Datei benutze? Wie können diese beiden Dateien zusammenarbeiten? –

+0

Sie können (und sollten!) Weiterhin Ihre vorhandene 'Dockerfile' verwenden. Sie können es verwenden, um Ihr Image aus der Datei 'docker-compose.yaml' im Abschnitt' build' zu erstellen: https://docs.docker.com/compose/compose-file/#build – nwinkler