我有一个带有Blazor服务器项目的Visual Studio解决方案,以及一些ASP.NET Core Web API项目(它们应该是微服务)。
我已经用Visual Studio创建了以下docker-compose.yml
,以便开始一切:
version: '3.4'
services:
myserver.frontend:
image: ${DOCKER_REGISTRY-}myserverfrontend
build:
context: .
dockerfile: Server/MyServer.Frontend/Dockerfile
mygateway.api:
image: ${DOCKER_REGISTRY-}mygatewayapi
build:
context: .
dockerfile: Services/MyGateway.API/Dockerfile
identity.api:
image: ${DOCKER_REGISTRY-}identityapi
build:
context: .
dockerfile: Services/Identity.API/Dockerfile
# Install the mongodb for offline data storage
mongo:
image: mongo
restart: always
environment:
MONGO_INITDB_ROOT_USERNAME: root
MONGO_INITDB_ROOT_PASSWORD: root
mongo-express:
image: mongo-express
restart: always
ports:
- 8081:8081
environment:
ME_CONFIG_MONGODB_ADMINUSERNAME: root
ME_CONFIG_MONGODB_ADMINPASSWORD: root
ME_CONFIG_MONGODB_URL: mongodb://root:root@mongo:27017/
如果我开始只调试MyGateway
项目,我可以在浏览器中看到它的swagger ui以进行调试。如果我只启动MyServer.Frontend
,则只启动blazor页面。
如果我用docker-compose
启动一切,我可以看到一切都在运行,我可以看到blazor服务器中的页面。
有没有一种方法可以用docker-compose.yml
启动一切,并访问其他项目的web核心API?
1条答案
按热度按时间ghg1uchk1#
默认情况下,Swagger仅在开发模式下运行WebAPI时可用。VS设置了这一点,但docker-compose没有。
像这样将ASPNETCORE_ENVIRONMENT变量添加到您的定义中,Swagger应该可用。您还需要将端口80Map到主机端口。
然后Swagger应该可以在
http://localhost:8082/swagger
上使用。