【发布时间】:2021-08-13 22:21:32
【问题描述】:
我正在尝试使用 docker Linux 容器设置和测试 aspnetcore 3.1 Web API。容器构建并运行 Web API,但 URL 如下:
https://localhost:6001/https://%7BServiceHost%7D:6001/Swagger
应该是https://localhost:6001/Swagger
我应该如何设置我的 docker 文件/docker-compose.yml 以提供正确的 URL?
Docker 文件:
FROM mcr.microsoft.com/dotnet/core/sdk:3.1 AS build-env
WORKDIR /app
EXPOSE 443
COPY . ./
RUN dotnet publish ApiProject -c Release -o out
FROM mcr.microsoft.com/dotnet/core/aspnet:3.1
WORKDIR /app
COPY --from=build-env /app/out .
ENTRYPOINT ["dotnet", "ApiProject.dll", "--environment=Development"]
docker-compose.yml:
version: '3.4'
services:
apiproject:
image: ${DOCKER_REGISTRY-}apiproject
environment:
- ASPNETCORE_URLS=https://+:443;http://+:80
- ASPNETCORE_HTTPS_PORT=443
ports:
- "6000:80"
- "6001:443"
build:
context: .
dockerfile: ApiProject/Dockerfile
docker-compose.override.yml:
version: '3.4'
services:
checkoutpaymentgateway:
environment:
- ASPNETCORE_ENVIRONMENT=Development
- ASPNETCORE_URLS=https://+:443;http://+:80
- ASPNETCORE_Kestrel__Certificates__Default__Password=helmet
- ASPNETCORE_Kestrel__Certificates__Default__Path=/https/aspnetapp.pfx
volumes:
- ~/.aspnet/https:/https:ro
ports:
- "6000:80"
- "6001:443"
【问题讨论】:
标签: docker docker-compose asp.net-core-3.1