.net - Dotnet 看不到 docker 卷上的文件
问题描述
我dotnet restore
在 Docker 环境中运行和其他命令时遇到问题。设置是:
- 码头工人撰写
- 码头工人
- 点网
我的 dockerfile 看起来像这样
version: "3.9"
services:
app:
build:
context: ./app
dockerfile: Dockerfile.app
volumes:
- "./app:/app"
我想用 dockerfile 实现的是构建一次,然后观察更改,然后重建 - 所以我不想复制文件,想挂载它们以供观看
FROM mcr.microsoft.com/dotnet/sdk:5.0
WORKDIR /app
RUN dotnet restore
RUN dotnet publish
CMD ["dotnet", "watch", "build"]
错误是
> [3/4] RUN dotnet restore:
#5 0.423 MSBUILD : error MSB1003: Specify a project or solution file. The current working directory does not contain a project or solution file.
我试图为项目定义多种类型的路径,但没有任何好的结果
解决方案
因为只有在 Dockerfile 构建成功时才会映射卷。
您必须先复制app
文件夹才能构建映像。
FROM mcr.microsoft.com/dotnet/sdk:5.0
WORKDIR /app
COPY . .
RUN dotnet restore
RUN dotnet publish
CMD ["dotnet", "watch", "build"]
你能再试一次吗?
推荐阅读
- c - 将汇编语言函数调用到 ac 程序中
- c++ - 推断成员变量类型
- javascript - 使用 react-hook-form 将输入框中的值从字符串转换为数组
- python - 从单个列中的 Pandas 数据框在 SQL 中创建大型“In”语句
- css - 对图像做出响应
- azure-devops - 通过 Azure DevOps REST API 获取 PR 代码覆盖率差异状态
- java - 它是如何工作的,当我总是打开应用程序时,它会运行该方法,而不仅仅是在我单击运行时?
- javascript - 从节点js中的另一个类调用一个类
- django - 使用 git push 将 django 应用程序部署到 heroku 时出现无法识别的错误
- javascript - getUserMedia() 在普通 chrome 中不起作用,但在启动 pwa-chrome 时起作用