部署環境: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.訪問測試