Bash-Skript zum Starten eines Andock-Containers, der eine Monokonsolenanwendung ausführt, kann keine Befehle im interaktiven Modus senden - Linux, Docker, Mono

Angenommen, der Containername lautet "dave" und die Mono-Anwendung heißt "dummy_app".

Dockerfile für den Container:

FROM mono:latest
ADD . /src
EXPOSE 8081
RUN xbuild /src/dummy_app.sln
CMD [ "mono", "/src/dummy_app/bin/Debug/dummy_app.exe" ]

Skript:

echo "Start"
sudo docker start -i dave
echo "debug true"

Das Script bleibt an der Zeile "sudo docker start-i dave" hängen, weil ich davon ausgehe, dass es darauf wartet, sich vom stdin des Containers zu trennen, um weiterzumachen. Daher wird die Zeile "debug true" nicht ausgeführt.

In der SSH-Sitzung kann ich den Container sehenStarten Sie den Start der Mono-Anwendung und ich kann Befehle eingeben und Antworten wie mit einer normalen Konsolenanwendung erhalten, aber ich kann nicht herausfinden, wie Befehle aus dem Skript in den neu angehängten Container gesendet werden, die das gleiche erreichen würde.

Antworten:

0 für die Antwort № 1

Von Hier

Start one or more containers

-a, --attach=false         Attach STDOUT/STDERR and forward signals
--help=false               Print usage
-i, --interactive=false    Attach container"s STDIN

Sie müssen die entfernen -i Flagge.

Im Allgemeinen können Sie für alle Docker Befehle die --help Markieren Sie die Optionen, die Sie haben, und die Standardwerte.


Am beliebtesten