我使用以下 Docker 脚本来构建和运行我的 .NET 4.6.1 框架上的 ASP.NET Web API 项目。
FROM microsoft/dotnet-framework:4.7.2-sdk AS build
WORKDIR /app
# copy csproj and restore as distinct layers
COPY *.sln .
COPY TestWebAPI/*.csproj ./TestWebAPI/
COPY TestWebAPI/*.config ./TestWebAPI/
RUN nuget restore
# copy everything else and build app
COPY TestWebAPI/. ./TestWebAPI/
WORKDIR /app/TestWebAPI
RUN msbuild /p:Configuration=Release
FROM microsoft/aspnet:4.7.2 AS runtime
WORKDIR /inetpub/wwwroot
COPY --from=build /app/TestWebAPI/. ./
第一步,我将应用文件夹设置为我的工作目录。但是在创建容器后,我在我的C:驱动器上没有看到任何名为“app”的文件夹。
--To create Image
docker image build --tag testwebapi --file .\Dockerfile .
--To run container
docker container run --detach --publish 80 testwebapi
--To see containers content
docker exec -i -t a1da40af6b3c powershell
Where does docker keep the source code?
COPY
或ADD
命令添加的内容。如果您将二进制可执行文件添加到镜像中,通常源代码和构建工具不会被包含在内。 - David Maze