2017-12-15 5 views
0

Dockerの新機能で、1つはmongoDBを実行し、もう1つはWebアプリケーションを実行する2つのコンテナを設定しようとしています。.NETコアに到達できないDocker-compose

localhost:5000または0.0.0.0:5000経由で.NETコアアプリケーションにアクセスできないという問題があります。

Mongoは正常に動作しています。ここで

は私のドッキングウィンドウ-compose.yml

version: '3' 
services: 
    web: 
    build: . 
    ports: 
    - "5000:5000" 
    mongo: 
    build: ../../../docker/wishare-mongo/ 
    volumes: 
    - ../../../docker/wishare-mongo:/data/db 
    ports: 
    - "27017:27017" 

Dockerfile .NETのコアアプリケーション用です

FROM microsoft/aspnetcore-build:2.0 AS build-env 
WORKDIR /app 
ENV ASPNETCORE_URLS="http://*:5000" 

# Copy csproj and restore as distinct layers 
COPY *.csproj ./ 
RUN dotnet restore 

# Copy everything else and build 
COPY . ./ 
RUN dotnet publish -c Release -o out 

# Build runtime image 
FROM microsoft/aspnetcore:2.0 
WORKDIR /app 
COPY --from=build-env /app/out . 
EXPOSE 5000 
ENTRYPOINT ["dotnet", "Wishare-Integration-Api.dll"] 

ドッカ・コン構築し、このために結果をエラーなしで実行をドッキングウィンドウは、構成ウェブコンテナ:

web_1 |ホスティング環境:プロダクション web_1 |コンテンツルートパス:/ app web_1 |今聞いている: http://[::]:80 web_1 |アプリケーションが開始されました。 Ctrl + Cを押して を終了します。

これはdocker psの結果で、ポート5000はdocker ps結果に基づいてエクスポートする必要があります。

Docker ps result

任意のアイデア?

+0

出力は、アプリケーションがコンテナ内のポート80でリッスンしていることを示します。明示的にポートを80に設定する何かがあなたのアプリの起動時にありますか?環境変数をオーバーライドしている可能性があります。 – nlawalker

+0

また、ホスト上で明示的にlocalhostの代わりに127.0.0.1を使用してみてください。 localhostが動作しない環境がいくつか設定されています。 – nlawalker

+0

あなたの質問に答えるために、@ nlawalkerいいえポート5000でロードするドッカーではなく、直接アプリケーションを実行すると、何も変更しませんでした。また、127.0.0.1もポート5000ではなく、80でも動作しません –

答えて

1

.NETは、プロダクションでポート80を使用しています。したがって、Iveがドッカーファイルを変更し、5000ではなくポート80をエクスポートし、ポート5000をdocker-composeでポート80に変更したとします。

私は、ポート5000で実行するために、.NET側でいくつかの設定が必要であると仮定します。

関連する問題