netcore项目发布部署到阿里云linux系统Alibaba Cloud Linux3的docker

前言:

免费文章请抬贵手点赞评论一下谢谢!文章本可以免费的,但是白嫖的大佬们都舍不得点赞评论一下。如果点赞评论跟阅读量不成比例,我可能很快就设置为VIP可读了。

一、系统环境:

1、Alibaba Cloud Linux3 安装了docker-ce

2、本机windows系统安装了docker desktop,支持生成镜像

3、给系统安装设置了sftp功能服务。如果不会可以跳转到下面这个链接,看我最后的一个大步骤内容(五、配置 sftp)。

Alibaba Cloud Linux 3.2104 LTS 新购服务器基础配置

二、使用Shell命令生成镜像。

1、进入你的项目根目录,然后按 Shift+鼠标右键 打开 powershell。

2、执行命令生成镜像

docker build -t zsmadmin -f ZsmAdmin.Web.Entry\Dockerfile .

注意,最后有一个点, 不能丢了,这个点表示文件生成到当前目录下。

-t zsmadmin 是给镜像指定的名称(标签)t=tag

-f ZsmAdmin.Web.Entry\Dockerfile 是指定项目目录下的dockerfile脚本文件 f=file

3、保存镜像文件为zsmadmin.tar,保存到你的shell当前目录。

docker save -o zsmadmin.tar zsmadmin

dir zsmadmin.tar

三、镜像文件部署到linux的docker

1、上传镜像文件到服务器FTP目录

2、检查docker是否正常。

使用命令检查,我看到的状态内容不止一页,如果你翻不了页或者不想看更多,按 q 键可以退出状态内容显示:

sudo systemctl status docker

3、停止并删除已存在的容器(如果有)

注意,命令后面的容器名 zsmadmin-container,也可以是容器ID,镜像操作也可以是ID,我觉得ID会更准确。

#查看容器列表

sudo docker ps -a

停止并删除已存在的容器(如果有)

sudo docker stop zsmadmin-container

sudo docker rm zsmadmin-container

#删除旧镜像(如果有)

sudo docker rmi 镜像ID

第一次部署没容器 :docker ps -a

4、加载镜像文件

加载Docker镜像,先要用cd命令进入镜像文件所在目录 如 /home/yy

sudo docker load -i zsmadmin.tar

如果上面的方式不行,那就强行指定tar文件路径

用 sudo 但指定完整路径

sudo docker load -i /mnt/sftp/uploads/zsmadmin.tar

验证镜像是否加载成功

sudo docker images

5、启动新容器,映射端口

zsmadmin-CT1为容器名称,

启动新容器,映射5005端口

sudo docker run -d -p 5005:5005 --name zsmadmin-CT1 zsmadmin

检查容器状态

sudo docker ps

查看容器日志

sudo docker logs zsmadmin-CT1

日志内容其实可以看出来你的应用程序是否执行成功了,比如我的就失败了,提示数据库连接失败了,那就只能修改数据库连接配置,从生成镜像重新开始了。 下面是成功的截图:

6、web浏览器验证后端部署是否成功

如果上面的都成功了,浏览器地址访问不了,有可能是web站点映射的端口没有在安全组的访问规则配置放行,这个就不重复解释了。

相关推荐
辉的技术笔记15 小时前
Dify 自部署为什么跑不动?6 层瓶颈诊断法教你定位
docker
orion571 天前
Missing Semester Class1:course overview and introduction of shell
linux
程序员老赵2 天前
Docker 部署 Redmine:老牌开源项目管理部署实测记录
docker·开源·团队管理
用户120487221612 天前
Linux驱动编译与加载
linux·嵌入式
程序员老赵2 天前
服务器文件不想 SFTP 上传?Docker 跑个 File Browser,浏览器就能管理
服务器·docker·开源
用户805533698032 天前
Input 子系统架构:Core、Handler、Driver 三层是怎么协作的
linux·嵌入式
用户805533698032 天前
RK-Forge外设系列开篇 - 把板子从「能启动」变成「能用」:Ethernet/SPI/MMC 三个纯接线外设
linux·github·嵌入式
七歌杜金房2 天前
我终于又有了自己的 Linux 电脑
linux·debian·mac
tntxia3 天前
linux curl命令详解_curl详解
linux
扛枪的书生3 天前
Linux 网络管理器用法速查
linux