.net - Docker:无法使用 docker-compose 运行 .net core api:退出代码 145
问题描述
我正在尝试在 docker 容器中运行 .net core api,但出现以下错误:
我对错误的第一个猜测是因为它无法找到 .net core sdk。但正如你所见,我在 dockerfile 中包含了 sdk:
FROM mcr.microsoft.com/dotnet/core/aspnet:2.2
Dockerfile
FROM mcr.microsoft.com/dotnet/core/sdk:2.2 AS build-env
WORKDIR /app
# 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 mcr.microsoft.com/dotnet/core/aspnet:2.2
EXPOSE 80/tcp
WORKDIR /app
COPY --from=build-env /app/out .
ENTRYPOINT ["dotnet", "ApiForDocker.dll"]
码头工人-compose.yml
version: '3'
services:
coreapi:
build:
context: .
dockerfile: Dockerfile
ports:
- "4002:5000"
volumes:
- .:/app
解决方案
好的,我通过删除解决了:
volumes:
- .:/app
来自我的 docker-compose.yml:
version: '3'
services:
coreapi:
build:
context: .
dockerfile: Dockerfile
ports:
- "4002:5000"
我想问题是我用我的 dockerfile 构建代码但是在 docker compose 中我基本上是说我想在外面使用我的源代码来使用。它可能在 nodejs 中工作,但我不确定如何使用预构建的 .net 代码作为卷。
推荐阅读
- go - 使用 gocron 调度程序在特定日期的特定时间安排作业
- go - 我们如何在 kafka 中快速编写单个消息(而不是批处理)?
- memory-leaks - Titanium http请求泄漏
- c# - 从 Xamarin CrossMedia 插件上传文件到服务器
- android - 使用 LiveData 从 Firebase 获取数据时永远不会调用 onChanged
- python-3.x - 如何在机器人框架中启动具有麦克风和摄像头权限的浏览器?
- node.js - Nodemon app cannot find module when restarting
- javascript - 如何确定发生鼠标悬停事件的数组的哪个索引?
- azure - 通过 Azure DevOps 将 SAS 令牌部署到 Azure Key Vault
- python - Checking row-by-row if a value in one column is present as a substring of a value in another column, appending the string if the boolean value = False