2017-10-18 4 views
2

In meiner Docker-Datei auszuführen, ich habe dies:-Konsole-App in Docker

FROM microsoft/dotnet:2.0-runtime 
ARG source 
WORKDIR /app 
COPY ${source:-obj/Docker/publish} . 
ENTRYPOINT ["dotnet", "app.dll"] 

und ich brauche eine Anwendung Argument für die App passieren, lassen Sie sich --argument sagen, so dass der App kann innerhalb des Containers laufen.

Also, ich weiß, ich die app lokal

, indem Sie laufen
dotnet run -- --argument 

aber ich bin fest zu versuchen, die --argument zum Dockerfile (oder irgendwo, ich weiß es nicht) hinzuzufügen.

Ich habe versucht, CMD ["--argument"], CMD ["--", "--argument"] in der Dockerfile, aber mit keinem Erfolg.

Ist es möglich, dies zu tun?

+0

Sind Sie sicher, dass dieses nicht funktioniert? ENTRYPOINT ["dotnet", "app.dll", "Argument"] ?? – Kostya

+0

@KostyaK nein, hat es nicht –

+0

Haben Sie versucht, CMD ["dotnet", "app.dll", "Argument"] anstelle von ENTRYPOINT ["dotnet", "app.dll"]? – ingvar

Antwort

0

Ich habe es funktioniert, indem Sie das Argument in der Dockerfile Hinzufügen wie so:

... 
ENTRYPOINT ["dotnet", "app.dll", "--argument"] 
... 

Aber ich denke, dass dies nicht eine „absolute“ Lösung, dh zum Beispiel das Argument musste ich hinzufügen war nicht für dotnet, aber für die app selbst; Deshalb funktionierte es über die Befehlszeile mit dem Schalter --. Vielleicht werden die im Kommentarbereich vorgeschlagenen Lösungen aufgrund dieser Details nicht in allen Szenarien funktionieren.