Ich bin zur Zeit ein .Net Core-Projekt mit mehreren Docker Container, 2 sind .NET Core Console-Anwendungen, der dritte ist RabbitMQ.Zeigen Sie interaktive Konsole für mehrere Docker Container in Visual Studio 2017
Mein Ziel ist es, ein Konsolenfenster zu öffnen, in dem ich für mindestens eine der Konsolenanwendungen, die in den Andockcontainern ausgeführt werden, die Eingabetaste drücken kann.
Ich habe Docker-Unterstützung durch meine Konsolenanwendungen Rechtsklick und "Hinzufügen => Docker Support" klicken.
Das ist mein Docker-Compose-Datei:
version: '3'
services:
service1:
image: service1
build:
context: ./Service1
dockerfile: Dockerfile
links:
- "rabbitmq:rabbit"
service2:
image: service2
build:
context: ./Service2
dockerfile: Dockerfile
links:
- "rabbitmq:rabbit"
rabbitmq:
image: "rabbitmq:3-management"
ports:
- "8082:15672"
- "5672:5672"
Das ist mein Docker-Compose-override.yml ist: version: '3'
Aber Visual Studio führt die folgenden Überschreibungen, wenn die Service2-Behälter läuft :
Mein Service2 muss einige Konsoleneingaben bekommen, also muss ich in einer interaktiven Konsole "Enter" drücken. Leider bekomme ich kein Konsolenfenster zum Öffnen - aber ich sehe die Ausgabe meines Service2 im Debug-Fenster und sage mir, dass ich Enter drücken soll - ich kann einfach nicht Enter drücken.
Zu this question, für C++ - Projekte gibt es im Debug-Menü eine sogenannte "Linux Console" - aber ich habe diese Schaltfläche nicht. Ich habe es auch versucht, indem ich das "Visual C++ für Linux-Entwicklung" -Feature installiert habe, aber es hat nicht geholfen. Diese
ist, wie mein Debug-Menü wie folgt aussieht: Irgendwelche Ideen, wie ich ein Konsolenfenster öffnen kann die Anwendung in meinem Docker-Container zu kontrollieren?
Nur als Randnotiz: Die Anwendung warten auf Enter ist nur für Entwicklungszwecke, da es Befehle an die RabbitMQ-Pipeline ohne die Verwendung des Web-Frontend sendet. Es wäre möglich, dies außerhalb von Docker zu starten, aber es würde den Komfort zerstören, "alle auf Knopfdruck auszuführen" (und ohne mehrere Start-Projekte zu setzen) und würde eine Mischung aus Docker- und Nicht-Docker-Komponenten hinzufügen meine Lösung.
welcher Dienst wartet auf die Eingabe in diesem Fall? 'service1' oder' service2'? –
Es ist Service2. Ich habe auch versucht, Service1 mit Service2 in der Docker-Compose-Datei ohne Erfolg zu tauschen. – Compufreak