Wie gebe ich ein argument, zusammen mit docker-Komponieren bis
Ich habe eine docker-compose.yml
- Datei und im terminal bin ich typing docker-compose up [something]
aber ich würde auch gerne weitergeben argument zu docker-compose.yml
. Ist das möglich? Ich habe gelesen, über interpolation von Variablen und versucht, die angeben, eine variable in der .yml
- Datei mit ${testval}
und dann docker-compose up [something] var="test"
aber ich erhalte die folgende Fehlermeldung:
ACHTUNG: Die testval variable ist nicht gesetzt. Standardmäßig wird eine leere Zeichenfolge.
ERROR: No such service:testval=test
Du musst angemeldet sein, um einen Kommentar abzugeben.
Basierend auf dnephin Antwort, habe ich diese Beispiel repo, dass Sie übergeben Sie eine variable, um docker-Komponieren bis.
Die Nutzung ist einfach:
MAC /LINUX
TEST= docker-compose up
zu erstellen und starten Sie beideapp
unddb
container. Die api sollte dann ausgeführt werden, auf Ihren docker-daemon auf port 3030.TEST=DO docker-compose up
zu erstellen und starten Sie beideapp
unddb
container. Die api sollte führennpm run test
innerhalb derpackage.json
- Datei.WINDOWS (Powershell)
$env:TEST="";docker-compose up
zu erstellen und starten Sie beideapp
unddb
container. Die api sollte dann ausgeführt werden, auf Ihren docker-daemon auf port 3030.$env:TEST="do";docker-compose up
zu erstellen und starten Sie beideapp
unddb
container. Die api sollte führennpm run test
innerhalb derpackage.json
- Datei.Du musst die Variablen als Umgebungsvariablen:
oder
Ich bin mir nicht sicher, was Sie wollen, hier zu tun, aber wenn das, was Sie brauchen, ist, um eine Umgebungs-variable zu einem bestimmten container docker-Komponieren.yml können Sie tun:
Diese Variablen spezifisch für die container, die Sie angegeben, und wil nicht geteilt werden zwischen den Behältern.
Auch "Andockfenster" -Komponieren bis" nicht jedes argument.
docker-compose
zählen Sie nicht jede Flagge oder eines Befehls in der Reihenfolge Argumente übergeben werden.Komponieren ist in Erster Linie ein Werkzeug für die Ausführung von Leistungen, die nicht Gebäude Bilder.
Versuchen, die
ARG
definiert in jeder dockerfile für Argumente.Wird es nicht möglich sein, unterstützen jeden individuellen build-Szenario, weil
docker-compose
ist nicht für diesen Zweck entworfen. kann man wirklich nur unterstützen die meisten gängigen build-Szenarien.Können Sie sehen, mehr Informationen über sein Thema hier.
Können Sie
docker-compose build --build-arg app_env=production
zu bauen ein Bild. Dann können Siedocker-compose up
. Das befestigen der integrierten Bild.Geben Sie dann folgende Befehlszeile