部署环境:centos8,docker20+,netcore3.1
1.netcore3.1项目右击,添加docker支持,生成Dockerfile文件,可以设置为始终复制(生成或发布时都会含有Dockerfile文件)
2.修改Dockerfile文件内容
FROM mcr.microsoft.com/dotnet/core/aspnet:3.1-buster-slim AS base
WORKDIR /app
EXPOSE 80
EXPOSE 443
#copy当前目录下的文件到/app
COPY . .
#修改时区
ENV TZ=Asia/Shanghai
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
#设置运行dll
ENTRYPOINT ["dotnet", "Api.dll"]
3.netcore3.1项目发布,跟普通项目一样右击发布到文件系统
4.将netcore发布的文件通过ftp上传至站点目录,并将Dockerfile上传至站点目录,cd切换到站点目录
5.服务端docker拉取netcore3.1的镜像
docker pull mcr.microsoft.com/dotnet/core/aspnet:3.1-buster-slim
docker pull mcr.microsoft.com/dotnet/core/sdk:3.1-buster #文件系统发布不需要此步也可以
6.生成netcore项目镜像
docker build -t netcore-test .
7.运行netcore项目镜像容器
docker run --name netcore-test-1 -d -P netcore-test
8.开放端口
docker ps -a //查看容器列表,查看访问端口,修改入站规则或开放防火墙端口
9.访问测试