docker部署前后分离项目----新手详细版
一.服务器
1.租用服务器,这里我以阿里云为举例:
服务器租好后,进入实例:

2.点击右侧三个小黑点,进入更改实例密码(方便后续连接服务器)

新建会话:

连接成功进入黑窗口:
二.数据库
这里后端我使用docker部署:
//docker 的安装就略过,建议要先学习一下docker的原理和基本指令;
查看已有的镜像:
docker images
下载mysql8镜像(这里以他举例)
docker pull mysql:8.0
查看是否安装成功:
docker images;

设置密码:
docker run -d -p 3307:3306 -v mysql_conf:/etc/mysql/conf.d -v mysql_data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=密码 --name mysql01 mysql:5.7
注意这里第一个端口为宿主主机的端口,第二个为docker的端口,两者互相独立而不干扰,在外界访问时服务器时,先通过宿主机的端口访问,然后docker会监听对应的端口从而将宿主机的端口映射为容器的端口,也可以两个写一样;待会yaml配置文件就要写冒号前面的那个端口;
docker ps (把mysql的id记录下来)待会用得上

doker volume inspect mysql_data;//查询数据文件地址,将Mountpoint数据保存,待会需要

将数据库结构和数据转成dql文件
将转成的sql文件通过xftp等工具,连接到服务器,然后上传到刚刚保存的Mountpoint的文件路径下(拖动过去即可)

将sql文件暂存docker
sudo docker cp sql文件路径 mysql容器id:/
进入docker容器
docker exec -it mysql01 /bin/bash
登录mysql

创建数据库:
create database 数据库名;
检查是否创建成功:
show databases;
选定数据库:
use 刚刚创建的数据库名;
缓存刚刚的数据库文件:
source 数据库文件.sql;
三.rendis
我参考的是这篇文章:
Docker安装Redis (全网最详细教程!!!)_docker 安装redis-CSDN博客
四.打包springboot后端项目
查看mysql和redis的端口;
docker ps;
这里我的的数据库端口做了一个端口映射,如果大家都写的3306那就待会yaml文件修改的时候就写3306,而我要写3307,总之写第一个端口,即宿主端口;然后记得将yaml配置文件redis和mysql的localhost改成服务器内网;
先执行clean,再打包package;得到左侧绿色圈中的jar包;

可以将jar包直接拖到自己放置的一个文件夹下:
黑窗口进入刚刚创建的文件夹下面:
cd 刚刚创建的文件夹下面
将jar包构建为镜像:
docker build -t 自己随便起的名字:自己随便起的便签 .
一定要先进入刚刚创建的文件夹,然后注意后面有一个小黑点,看到successfully就是说明镜像构建成功:
启动容器:
五.打包前端工程
我这里采用的宝塔面板,如果没有安装宝塔面板,可以执行命令(centos系统),然后点击链接,登录即可
yum install -y wget && wget -O install.sh https://download.bt.cn/install/install_6.0.sh && sh install.sh
注意,前端项目的url请求localhost改成服务器公网地址,端口看刚刚jar包创建好的端口是多少,改成相应即可,我的容器端口是8080
修改好后是在控制台将前端工程打包:
我这个前端框架的打包指令是:npm run build:pord(可能框架不同,指令不同)
打包好之后会出现一个dist文件,通过宝塔,将他上传到公网ip的文件夹下(这个文件夹是自带的)
点击左侧"网站",需要指定一下页面跳转,不然会调到默认的页面,对了,宝塔面板开始要安装nginx服务器
点击绿色框中的地方,进行页面指定:
确保目录文件的路径正确:
最后一定要注意,将阿里云安全组和宝塔面板的80,MySQL和redis和jar包的端口放行;
浏览器输入: http://+公网ip即可访问到项目啦~
这篇文章对你有帮助的话,就点个关注吧~
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)