提问人:Ali CAKIL 提问时间:11/2/2023 最后编辑:Ali CAKIL 更新时间:11/2/2023 访问量:35
当另一个文件夹中有类库时如何构建 Dockerfile [重复]
how to build dockerfile when there is a class library in another folder [duplicate]
问:
我有一个 dotnet 项目和一个类库项目,如下所示:
..solution-folder/
app1/
- app1.csproj
- dockerfile
- other files
app2/
- app2.csproj
- dockerfile
- other files
app3/
- app3.csproj
- dockerfile
- other files
core/
- core.csproj
- other files
这是每个应用程序的 dockerfiles:
FROM mcr.microsoft.com/dotnet/sdk:6.0 AS core-build
WORKDIR /src/app/core
COPY ["../core/core.csproj", "/"]
它为复制命令提供错误。它说:
3 | WORKDIR /src/app/core
4 |
5 | >>> COPY ["../core/core.csproj", "/"]
------------------------------------
ERROR: "/core/core.csproj": `not found`
我知道构建上下文不支持通过 (..) 转到父级。看起来我必须将 dockerfiles 移动到 solution-folder。但是有多个dockerfile。我应该把它们结合起来吗?如果是,如何为 3 个不同的应用程序生成 3 个图像?
答:
0赞
Matt Thalman
11/2/2023
#1
您指定为 Docker“构建上下文”的位置是您可以从 Dockerfile 构建中访问的所有内容的根目录。您的所有路径都必须相对于该路径,并且不能使用 .因此,您需要设置构建上下文目录,以便您可以访问该目录范围内所需的所有内容。COPY
..
评论
0赞
Ali CAKIL
11/2/2023
嘿,@Matt塔尔曼,我根据您的回答更新了问题。
评论