面试题答案
一键面试- 编写Dockerfile:
- 在项目根目录创建一个名为
Dockerfile
的文件(无文件扩展名)。 - 内容示例:
注意将# 使用官方的.NET SDK镜像作为基础镜像 FROM mcr.microsoft.com/dotnet/sdk:6.0 AS build - stage # 设置工作目录 WORKDIR /app # 将.csproj文件复制到工作目录 COPY *.csproj./ # 还原项目依赖项 RUN dotnet restore # 将项目的其余文件复制到工作目录 COPY. . # 生成应用程序 RUN dotnet build -c Release -o /app/build # 使用官方的.NET运行时镜像作为运行时镜像 FROM mcr.microsoft.com/dotnet/runtime:6.0 AS runtime - stage # 设置工作目录 WORKDIR /app # 从构建阶段复制生成的文件 COPY --from=build - stage /app/build. # 设置容器启动时要执行的命令 ENTRYPOINT ["dotnet", "YourAppName.dll"]
YourAppName.dll
替换为实际的应用程序dll名称。 - 在项目根目录创建一个名为
- 构建镜像:
- 打开命令行工具,导航到包含
Dockerfile
的项目目录。 - 运行以下命令构建镜像,其中
your - image - tag
是你给镜像起的标签,可自行定义:
最后的docker build -t your - image - tag.
.
表示当前目录,它告诉Docker在当前目录查找Dockerfile
。 - 打开命令行工具,导航到包含
- 运行容器:
- 构建镜像成功后,可以使用以下命令运行容器,其中
your - image - tag
为前面构建镜像时指定的标签:
如果希望容器在后台运行,可以添加docker run your - image - tag
-d
参数:docker run -d your - image - tag
- 构建镜像成功后,可以使用以下命令运行容器,其中