首先还是打包到文件夹:
我的服务器是X64的centos 8 系统,
所以我的配置如图:
发布后,我没有用它的dockerfile,而是用的docker-compose去编写的docker脚本,如下:
services:ticket_manager_Api: # 服务名称container_name: ticket_manager_Api # 容器名称hostname: ticket_manager_Api # 主机名image: mcr.microsoft.com/dotnet/aspnet:8.0 # 使用 ASP.NET Core 运行时镜像ports:- "8085:8080" # 映射本机的 8085 端口到容器内的 8080 端口volumes:- /home/public/ticket-manager/server:/app # 将本地发布文件夹挂载到容器内的 /apprestart: on-failure # 容器失败时自动重启environment:- ASPNETCORE_ENVIRONMENT=Production # 设置环境变量working_dir: /app # 设置工作目录为 /appcommand: ["dotnet", "./TicketManager.Api.dll"] # 启动命令,替换为你的 DLL 名
通过 docker-compose up -d 构建容器后,浏览器访问成功,这里要注意两个点:
1. 确保云服务器的安全策略里入方向开放了监听的8085端口,现在华为云安全策略设置为全部端口可以访问是不好用的,所以还是要单独设置。
2..net 8 的项目现在默认的端口已经不再是80,而是8080,所以写yml文件的时候要注意一下。
当前只是一个粗略的版本,后续会有脚本专门处理多个容器启动停止的问题