のVisual Studioの複数のドッキングウィンドウコンテナ用インタラクティブコンソールを表示私は現在、第三は、RabbitMQのある、2は、.NETコアコンソールアプリケーションです、複数のドッキングウィンドウコンテナとネットコア・プロジェクトを開発しています。は2017
私の目標は、ドッキング用のコンテナで実行されているコンソールアプリケーションのうち少なくとも1つのコンソールアプリケーションでenterを押すことができるコンソールウィンドウを開くことです。
私は私のコンソールアプリケーションを右クリックし、「=>ドッカーサポートを追加」をクリックすることにより、ドッキングウィンドウ・サポートを追加しました。
これは私のドッキングウィンドウ-構成ファイルです:
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"
これは私のドッキングウィンドウが-構成-override.ymlです: version: '3'
しかし、サービス2-コンテナを実行するときにVisual Studioは、次の上書きを行います:
Service2:
build:
args:
source: obj/Docker/empty/
context: C:\Develop\vsts_tfs\Service2
dockerfile: Dockerfile
entrypoint: tail -f /dev/null
environment:
NUGET_FALLBACK_PACKAGES: /root/.nuget/fallbackpackages
image: service2:dev
labels:
com.microsoft.visualstudio.debuggee.arguments: ' --additionalProbingPath /root/.nuget/packages
--additionalProbingPath /root/.nuget/fallbackpackages bin/Debug/netcoreapp2.0/Service2.dll'
com.microsoft.visualstudio.debuggee.killprogram: /bin/bash -c "if PID=$(pidof
-x dotnet); then kill $PID; fi"
com.microsoft.visualstudio.debuggee.program: dotnet
com.microsoft.visualstudio.debuggee.workingdirectory: /app
links:
- rabbitmq:rabbit
volumes:
- C:\Develop\vsts_tfs\Service2:/app:rw
- C:\Users\MYUSER\vsdbg:/remote_debugger:ro
- C:\Program Files\dotnet\sdk\NuGetFallbackFolder:/root/.nuget/fallbackpackages:ro
- C:\Users\MYUSER\.nuget\packages:/root/.nuget/packages:ro
私のService2はコンソール入力を必要とするため、対話型コンソールで「enter」を押す必要があります。残念ながら私はコンソールウィンドウを開くことはできませんが、デバッグウィンドウにService2の出力が表示され、Enterを押すように指示されています。
this questionについては、C++プロジェクトの場合、デバッグメニューには「Linuxコンソール」がありますが、このボタンはありません。私はまた、 "Visual C++ for Linux-Development" -Featureをインストールすることでそれを手に入れようとしましたが、それは助けになりませんでした。
これは私のデバッグ・メニューがどのように見えるかです:私は私のドッキングウィンドウ、容器内のアプリケーションを制御するためのコンソールウィンドウを開くことができますどのように 任意のアイデア?
ちょうどのサイドノート:入力待機中のアプリケーションは、Webフロントエンドを使用せずにRabbitMQパイプラインにコマンドを送信するため、開発目的にすぎません。ドッキングウィンドウのこの外側を開始することが可能であろうが、それは「一つのボタンを押すことによって、それらすべてを実行している」(および複数のスタートアッププロジェクトを設定せず)の快適さを破壊するであろうとするdocker-と非ドッキングウィンドウ-成分の混合物を追加します私の解決策。
? 'service1'または' service2'? –
サービス2です。私はまた、ドッキング用ファイルでService1とService2をスワップしてみましたが、成功しませんでした。 – Compufreak