【发布时间】:2021-04-12 06:09:52
【问题描述】:
我开发了一个简单的 dotnet core api 连接到 mongo docker 镜像。该应用程序与以下 uri (mongodb://localhost:27017) 完美配合: mongo connection string
{
"MongoDB": {
"Database": "messagesdb",
"Host": "localhost",
"Port": 27017,
"User": "",
"Password": ""
},
"Logging": {
"LogLevel": {
"Default": "Warning"
}
},
"AllowedHosts": "*"
}
JSON 响应 Json Response after a successful run
但是当我通过visual studio添加一个docker文件,并将settings.json文件中的主机设置为mongo而不是localhost时,如图所示(mongodb://mongo:27017): mongo connection string
Docker 文件:
FROM mcr.microsoft.com/dotnet/core/aspnet:3.1-buster-slim AS base
WORKDIR /app
EXPOSE 80
EXPOSE 443
FROM mcr.microsoft.com/dotnet/core/sdk:3.1-buster AS build
WORKDIR /src
COPY ["ErrorMessagesAPI.csproj", ""]
RUN dotnet restore "./ErrorMessagesAPI.csproj"
COPY . .
WORKDIR "/src/."
RUN dotnet build "ErrorMessagesAPI.csproj" -c Release -o /app/build
FROM build AS publish
RUN dotnet publish "ErrorMessagesAPI.csproj" -c Release -o /app/publish
FROM base AS final
WORKDIR /app
COPY --from=publish /app/publish .
ENTRYPOINT ["dotnet", "ErrorMessagesAPI.dll"]
mongo 的 docker-compose :
version: '3.8'
services:
mongo:
image: mongo
container_name: mongo
restart: always
ports:
- "27017:27017"
volumes:
- mongo-data:/data/db
mongo-express:
image: mongo-express
container_name: mongo-express
restart: always
ports:
- "8081:8081"
depends_on:
- mongo
volumes:
mongo-data:
driver: local
API 无法正常工作,如下图所示: docker run result,完整代码可以在这里找到MessageAPI
我正在关注这里的文章Docker + MongoDB + .NET Core = a good tim 有人可以帮忙吗?
【问题讨论】:
-
文本“在此处输入图像描述”并不能很好地描述您的问题。您能否编辑您的问题以包含将问题重现为文本而不是图像所需的详细信息,并直接在问题中而不是链接后面?
标签: mongodb docker asp.net-core