使用docker在centos7发布上.net core 3.1 web项目
1,项目准备;
创建一个.net Core 3.1 web 项目;
在项目根目录添加 DockerFile 文件;
Dockerfile 文件内容为:
# 使用的镜像; FROM mcr.microsoft.com/dotnet/aspnet:3.1 # docker 内部工作目录,可自定义; WORKDIR /app # docker 对外暴漏的端口; EXPOSE 80 # 复制编辑过后的项目文件到/app(docker 工作目录);需要注意的是一定是编辑过后的项目文件,因为这里的 dockerfile 没有编辑的步骤;“.”等于是复制与 Dockerfile 同级别的所有文件; COPY . /app ENTRYPOINT ["dotnet", "your_web.dll"]
2,编辑发布项目文到文件系统;
3,上传项目;
上传编辑过后的项目文件至 linux 系统的自定义目录,这里推荐 MobaXterm 工具,非常好用,有兴趣的朋友可以'bing'下载使用 ;
4,构建 docker 镜象文件;
-t 后面的参数为你给自己的项目起的镜像名称和TAG,格式为:pro:v1;
Dockerfile 为项目中添加的 Dockerfile 文件;
docker build -t {your self project name:v1} -f Dockerfile .
后面的“.”是必需的,容易出错的点;
5,运行 docker 镜象文件;
8080 为外部访问端口,80 为 docker 映射端口;
docker run -d -p 8080:80 pro:v1
以上为发布项目的简单流程,这里只做下简单记录和学习,有助于对不太熟悉 docker 运行机制和有发布需求的人对于 docker 技术的理解,关于 docker 发布还有很多种方法和途径。
6,查看 docker 工作目录文件;
docker 容器运行起来后,可用以下命令查看发布文件是否完全复制作 docker 工作目录;
docker exec -it 容器ID bash