首页新闻找找看学习计划

VS2019生成的dockerfile

0
悬赏园豆:50 [已解决问题] 解决于 2019-09-19 20:08

我现在在学docker技术,但是当我使用VS2019自动生成的docker文件创建镜像时卡在了第七步,提示是找不到文件夹。我打开虚拟机发现docker用户并没有权限进入 /mnt/sda1/var/lib/docker/tmp/文件夹,我也不知道该怎样创建缺少的文件夹。
实验环境是在win10,用的Docker Quickstart Terminal,项目就是一个asp.net core 模板项目
求大神指点一二,该怎么破这个问题,还有求解释一下docker文件里的内容。

FROM mcr.microsoft.com/dotnet/core/aspnet:2.2-stretch-slim AS base
WORKDIR /app
EXPOSE 80
EXPOSE 443

FROM mcr.microsoft.com/dotnet/core/sdk:2.2-stretch AS build
WORKDIR /src
COPY ["DDemo/DDemo.csproj", "DDemo/"]
RUN dotnet restore "DDemo/DDemo.csproj"
COPY . .
WORKDIR "/src/DDemo"
RUN dotnet build "DDemo.csproj" -c Release -o /app

FROM build AS publish
RUN dotnet publish "DDemo.csproj" -c Release -o /app

FROM base AS final
WORKDIR /app
COPY --from=publish /app .
ENTRYPOINT ["dotnet", "DDemo.dll"]

微若思丢丢的主页 微若思丢丢 | 初学一级 | 园豆:157
提问于:2019-09-02 19:11
< >
分享
最佳答案
0

报错估计是因为目录些的有问题 COPY ["DDemo/DDemo.csproj", "DDemo/"] 改成 COPY ["DDemo/DDemo.csproj", "/src"]试试,或者直接复制整个目录进去再执行还原

# 创建构建阶段 base
FROM mcr.microsoft.com/dotnet/core/aspnet:2.2-stretch-slim AS base
WORKDIR /app
EXPOSE 80
EXPOSE 443

# 创建构建阶段 build
FROM mcr.microsoft.com/dotnet/core/sdk:2.2-stretch AS build
WORKDIR /src
# 复制DDemo下的解决方案到此阶段的DDEmo/目录  报错是因为你这个目录并没有,你可以把这个去掉或者看./DDemo是否可以
COPY ["DDemo/DDemo.csproj", "DDemo/"]
RUN dotnet restore "DDemo/DDemo.csproj"
# 复制Dockerfile所在目录的文件到此接端的工作目录 /src ,dotnet restore 可复制后执行
COPY . .
WORKDIR "/src/DDemo"
RUN dotnet build "DDemo.csproj" -c Release -o /app

# 基于 base阶段 创建 publish 阶段,发布项目到/app
FROM build AS publish
RUN dotnet publish "DDemo.csproj" -c Release -o /app

# 基于 base阶段 创建 final 阶段
FROM base AS final
WORKDIR /app
# 从publish阶段的/app目录复制文件到当前工作目录
COPY --from=publish /app .
# 入口点 执行命令
ENTRYPOINT ["dotnet", "DDemo.dll"]

关于多阶段构建的文档:https://docs.docker.com/v17.09/engine/userguide/eng-image/multistage-build/#before-multi-stage-builds

收获园豆:50
易墨 | 菜鸟二级 |园豆:297 | 2019-09-03 17:31

我试了不行,或许可以在主机里建好缺少的文件夹,但是docker用户并没有权限,卡在这了。

微若思丢丢 | 园豆:157 (初学一级) | 2019-09-05 15:22
其他回答(1)
0

将Dockerfile移动到上一级目录

aitkon | 园豆:202 (菜鸟二级) | 2019-09-23 17:14
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册