netcore项目Dockerfile配置及Docker构建命令

1、netcore项目Dockerfile文件配置

 如果是编译发布好的格式如下

FROM mcr.microsoft.com/dotnet/aspnet:5.0 AS base
FROM mcr.microsoft.com/dotnet/sdk:5.0 AS build
EXPOSE 7007

WORKDIR /app
COPY . .
ENTRYPOINT ["dotnet", "MinioF.WebApi.dll"]

 如果是源码就保持原来的即可(PS:如果是有自己私有的nuget的需要把私有源添加进来

#See https://aka.ms/containerfastmode to understand how Visual Studio uses this Dockerfile to build your images for faster debugging.

FROM mcr.microsoft.com/dotnet/aspnet:5.0 AS base
WORKDIR /app
EXPOSE 7999

FROM mcr.microsoft.com/dotnet/sdk:5.0 AS build
WORKDIR /src
COPY ["MinioF.WebApi/MinioF.WebApi.csproj", "MinioF.WebApi/"]
COPY ["MinioF.Repository/MinioF.Repository.csproj", "MinioF.Repository/"]
COPY ["MinioF.Services/MinioF.Services.csproj", "MinioF.Services/"]
COPY ["MinioF.Entities/MinioF.Entities.csproj", "MinioF.Entities/"]
COPY ["MinioF.Common/MinioF.Common.csproj", "MinioF.Common/"]
RUN dotnet nuget add source http://私有源地址:8080/nuget RUN dotnet restore
"MinioF.WebApi/MinioF.WebApi.csproj" COPY . . WORKDIR "/src/Gdunis.MinioF.WebApi" RUN dotnet build "MinioF.WebApi.csproj" -c Release -o /app/build FROM build AS publish RUN dotnet publish "MinioF.WebApi.csproj" -c Release -o /app/publish FROM base AS final WORKDIR /app COPY --from=publish /app/publish . ENTRYPOINT ["dotnet", "MinioF.WebApi.dll"]

 

2、Docker构建命令

#docker创建镜像  PS: CD在程序目录下运行,注意后面有个点(当前目录的意思)
docker build -t 镜像名称 .

#使用镜像启动容器(-v挂载  -d 后台运行  -p前面是主机后面是容器)
docker run --name 容器名称 -v /root/data:/app/Config -d -p 7007:7007 镜像名称:latest

#查看镜像
docker images

#删除镜像
docker rmi 镜像名称

#查看运行的容器(-a 看所有包含未运行)
docker ps

#停掉一个容器 stop 更温和
docker kill 容器名称

#移除容器
docker rm 容器名称

#查看容器详情
docker inspect 容器名称 

#进入容器(如果是执行程序的话把bash改为sh)
docker exec -it 容器名称 bash

 

posted @ 2021-07-08 18:02  風飄絮℃  阅读(971)  评论(0编辑  收藏  举报