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站点映射的端口没有在安全组的访问规则配置放行,这个就不重复解释了。

相关推荐
margu_1682 小时前
现代 Linux 系统管理tmp目录临时文件的标准方式
linux·服务器
qiuyunoqy2 小时前
Linux进程 --- 5(进程地址空间初识)
linux·c++·算法
夜月yeyue2 小时前
Linux 文件设备类型分析
linux·运维·网络·单片机
IMPYLH2 小时前
Bash 的 basenc 命令
linux·运维·服务器·bash·shell
小黄人软件2 小时前
openclaw Windows安装 国内OK 解决安装过程中任何问题 linux mac等 申请AI免费的token 无法访问此页面
linux·windows·macos·openclaw
微露清风2 小时前
系统性学习Linux-第八讲-进程间通信
java·linux·学习
confiself2 小时前
deer-flow2本地启动(无make无nginx启动)
linux·人工智能
IMPYLH2 小时前
Linux 的 arch 命令
linux·运维·服务器·bash
灰阳阳2 小时前
Docker-镜像-命令清单
java·docker·eureka