Docker에 새롭고 mongoDB를 실행하는 컨테이너와 웹 응용 프로그램을 실행하는 컨테이너 2 개를 설치하려고합니다..NET 코어에 도달 할 수없는 도커 작성
문제는 localhost : 5000 또는 0.0.0.0:5000을 통해 .NET 코어 응용 프로그램에 액세스 할 수 없다는 것입니다.
몽고가 잘 돌아갑니다. 여기
내 고정 표시기 - compose.ymlversion: '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 결과를 기반으로 내 보내야합니다.
어떤 아이디어가?
출력은 앱이 컨테이너 내부의 포트 80에서 수신 대기 중임을 나타냅니다. 앱을 시작할 때 포트를 명시 적으로 80으로 설정하는 항목이 있습니까? 그것은 환경 변수를 무시할 수 있습니다. – nlawalker
또한 호스트에서 localhost 대신 127.0.0.1을 명시 적으로 사용해보십시오. 로컬 호스트가 작동하지 않는 일부 환경이 구성되어있는 것을 보았습니다. – nlawalker
질문에 답하기 위해 @nlawalker 아니오 포트 5000에서로드하는 도커 대신 직접 실행 한 응용 프로그램을 실행할 때 아무 것도 변경하지 않았습니다. 또한, 127.0.0.1은 포트 5000이나 80에서도 작동하지 않습니다. –