TerraMoursApi-V0.1部署(适用于通用的.net项目部署到服务器docker)

1.服务器项目文件夹创建

创建项目文件夹,用于管理后端接口代码

/data/terramours/api

给文件夹赋权限

cd /data
chmod -R 777 terramours

2.项目发布

右键项目节点 > 发布 > 选择发布到文件夹

image-20230524153537256

选择好对应的运行环境,发布服务器选linux-64

image-20230524153736263

发布Dockerfile(或者在服务器publish文件夹中创建Dockerfile):

image-20230524155959756

Dockerfile内容:

#See https://aka.ms/customizecontainer to learn how to customize your debug container and how Visual Studio uses this Dockerfile to build your images for faster debugging.

FROM mcr.microsoft.com/dotnet/aspnet:7.0 AS base
WORKDIR /app
EXPOSE 80

FROM base AS final
WORKDIR /app
COPY .  /app
ENTRYPOINT ["dotnet", "TerraMours.dll"]

3.代码打包压缩

发布成功后点击-打开文件夹,选择上一级目录,打包整个publish文件夹,打包成zip文件准备上传服务器。

zip格式:

publish{“日期时间”}.zip

image-20230524154015606

4.上传至服务器

项目路径为

/data/terramours/api

将压缩包上传至服务器指定文件夹中。推荐使用XFTP,可视化操作

image-20230524154252126

5.解压文件

到项目文件夹下运行解压命令

cd /data/terramours/api
unzip publish0521.zip --改成压缩包名称,如果是替换,输入A,全部覆盖

6.新建脚本文件terramours.sh

新建一个脚本文件,方便执行脚本命令

文件名称:terramours.sh

内容:

#!/bin/bash
cd publish
echo "Stopping docker container..."
docker stop terramours
echo "Removing docker container..."
docker rm terramours
echo "Removing docker image..."
docker rmi terramours
echo "Building docker image..."
docker build -t terramours .
echo "Running docker container..."
docker run --name terramours -p 4112:80 -d terramours

7.运行terramours.sh

执行脚本

sh terramours.sh

后端项目发布docker完成,项目端口4112.

8.查看portainer的容器管理:

查看容器,已经启动成功

image-20230524155253942

阅读如遇样式问题,请前往个人博客浏览: https://www.raokun.top
拥抱ChatGPT:https://ai.terramours.site
开源项目地址:[https://github.com/firstsaofan/TerraMours](