2017-08-03 13 views
0

ドッカーコンポジションを使用してドッキングコンテナ内でマイクロサービスを実行しています。 docker-compose.ymlファイルは次のとおりです。ドッカーコンテナマイクロサービスに接続できません

version: '2.1' 
services: 
flousermanagement: 
    build: 
    context: ../FloUserManagement/bin/Debug/netcoreapp2.0/publish 
    dockerfile: Dockerfile 
    ports: 
    - "5001:5001" 
    - "8080:8080" 
    volumes: 
    - 

     ../FloUserManagement/bin/Debug/netcoreapp2.0/publish/data: 
     c:\floUserManagement\data 

ドッカーファイル。

FROM microsoft/dotnet:2.0.0-preview2-sdk-nanoserver 
ENTRYPOINT ["dotnet", "FloUserManagement.dll"] 
ARG source=. 
WORKDIR /floUserManagement 
ENV ASPNETCORE_URLS http://+:5001 
EXPOSE 5001 
EXPOSE 8080 
COPY $source . 

私はlocahostに接続できません。コンテナなしで実行されるコードはうまく動作しますが、コンテナ内では動作しません。私はコンテナ上のリクエストを追跡しようとしましたが、私はlocahost:5000上のコンテナ内の任意のエンドポイントをヒットできません。

dotnet core 2.0.0-preview2バージョンのアップグレードによるものですか? localhostがIPv4からIPv6にマッピングされていないためですか? これにはどのような回避策がありますか?

私はazure vmでdocker enterprise editionを実行しています。 Windows Server 2016データセンター Intel Xeon 2.4GHzデュアルコア。 x64ビット7GB RAM。私はコミュニティ版ではなく、Dockerエンタープライズを使用しています。

+0

なぜこのファイルには紺色のタグが付けられていますか?ローカルホスト上で動作しないので、紺とは関係ありません – 4c74356b41

+0

あなたのアプリは5001にあります。なぜ5000と言うのですか? – Robert

+0

申し訳ありません。それはタイプミスです。実際にはlocalhost:5001 –

答えて

0

これはWinNATの現在の実装のバグです。 localhost公開ポートへの接続は、と同じホストからは機能しません。マッピングされたポートは、コンテナの外部からは使用できますが、ローカルでは使用できません。これは、Windows 2016の次のメジャーリリースまで修正される予定はないようです。(https://docs.docker.com/docker-for-windows/troubleshoot/#limitations-of-windows-containers-for-localhost-and-published-ports

+0

こんにちはグレッグ、私はドキュメントをチェックしました。しかし、私はホストのブラウザからコンテナipとポートを使ってサービスにアクセスすることができません。この場合、私は何をすべきですか? –

+0

githubに画像を公開 –

+0

gippに画像を公開する方法がわかりません。それを行うための一連の指示を分けてください。 –

関連する問題