用docker一键部署前后端分离项目的详细流程

2024-04-16 0 390
目录
  • 一、搭建局域网
    • 1.1、介绍前后端项目搭建
    • 1.2、操作
  • 二、安装redis
    • 测试
  • 三、安装Mysql
    • 检查
  • 四、部署后端服务
    • 4.1、创建数据库
    • 4.2、使用Dockerfile自定义镜像
      • 测试
      • 测试
  • 五、前端部署
    • 5.1、nginx部署
      • 分析nginx.conf
    • 5.2、具体步骤
      • 运行启动容器
      • 位置解释
      • 切换目录
      • 解压
      • 测试

#重命名
mv Dockerfile_ruoyi-admin Dockerfile

4)ruoyi-admin为镜像名称,开始制作镜像
docker build -t ruoyi-admin .

一、搭建局域网

1.1、介绍前后端项目搭建

用docker一键部署前后端分离项目的详细流程

需要4台服务器,在同一个局域网中

1.2、操作

# 搭建net-ry局域网,用于部署若依项目 net-ry:名字
docker network create net-ry –subnet=172.68.0.0/16 –gateway=172.68.0.1

#查看
docker network ls

用docker一键部署前后端分离项目的详细流程

用docker一键部署前后端分离项目的详细流程

能不能访问分为2种情况:

一、如果项目部署完上线了,外部不能访问内部

二、部署的时候是应该能访问的,需要看Mysql等是否安装好,防火墙应该关闭,来调试问题

#查看防火墙状态
systemctl status firewalld

#关闭防火墙
systemctl stop firewalld

#启动docker
systemctl restart docker

用docker一键部署前后端分离项目的详细流程

# 注意1:关闭宿主机的防火墙,否者容器内部的MySQL、redis等服务,外部访问不了;开放端口3306、6379端口也没用。

# 注意2:关闭防火墙后必须重启docker,否者出现如下错误docker: Error response from daemon: driver failed programming external connectivity on endpoint ruoyi-admin (399a34630e6ef8e4ed7cf20d46b9654c8d535d0fe44ceadebf8bd605d3da35b8): (iptables failed: iptables –wait -t nat -A DOCKER -p tcp -d 0/0 –dport 8080 -j DNAT –to-destination 172.68.0.4:8080 ! -i br-c34635070c6f: iptables: No chain/target/match by that name.

二、安装redis

#创建两个目录
mkdir -p /data/redis/{conf,data}

#
cd /data/redis/

ll

cd conf

用docker一键部署前后端分离项目的详细流程

进入刚刚创建的conf目录,上传文件

用docker一键部署前后端分离项目的详细流程

#上传redis.conf文件到/data/redis/conf文件夹中# bind 0.0.0.0 充许任何主机访问# daemonize no因为用的是容器,Redis装在容器里面,不影响输入命令# requirepass sasa 用户密码sasa

redis.conf修改

1. 允许redis外地连接

#bind 127.0.0.1改成为bind 0.0.0.0

2. 开启redis验证(可选)requirepass sasa

3. 开启redis数据持久化(可选)appendonly yes

docker run -itd –name zking-redis -p 6379:6379 \\
-v /data/redis/conf/redis.conf:/etc/redis/redis.conf \\
-v /data/redis/data:/data \\
–privileged=true –restart=always \\
–network net-ry redis \\
redis-server /etc/redis/redis.conf

id启动 容器不进入

zking-redis 名字

-p 6379:6379 \\ 映射端口-v 挂载-v /data/redis/data:/data \\ 缓存数据–privileged=true –restart=always \\ 给最高权限

1. –privileged=true :让容器root用户拥有最高权限,否则可能会出现权限不够错误

2. redis-server /etc/redis/redis.conf:容器启动时执行的命令及读取的配置

3. redis-6.2.6.tar.gz压缩包中找到redis.conf官方配置文件

4. 在hub.docker.com中找到启动redis方式

测试

#进入容器
docker exec -it zking-redis /bin/bash

root@ec98cd3af83e:/data# whereis redis-cli
redis-cli: /usr/local/bin/redis-cli
root@ec98cd3af83e:/data# cd /usr/local/bin
root@ec98cd3af83e:/usr/local/bin# ls
docker-entrypoint.sh redis-benchmark redis-check-rdb redis-sentinel
gosu redis-check-aof redis-cli redis-server
root@ec98cd3af83e:/usr/local/bin# redis-cli
127.0.0.1:6379> ping
PONG
127.0.0.1:6379>

用docker一键部署前后端分离项目的详细流程

三、安装Mysql

#退出程序
exit

#退出容器
Ctrl+P+Q

# 1.创建文件夹
mkdir -p /data/mysql/{conf,data}

用docker一键部署前后端分离项目的详细流程

#进入conf
cd /data/mysql/conf/

# 2.上传my.cnf文件到/data/mysql/conf文件夹中 (可以将my2.cnf修改好在Linux中重命名为my.cnf)
mv my2.cnf my.cnf

修改官方my.cnf

#运行mysql5.7,注意有单独的mysql镜像
docker run –name=mysql1 -d mysql/mysql-server:5.7
#进入容器查看/etc/my.cnf文件,修改my.cnf文件,让其支持中文

查看mysql数据保存位置

cd /var/lib/mysql>

1. 设置密码

-e MYSQL_ROOT_PASSWORD=sasa:设置root的密码

3.启动MySQL容器服务

docker run -d –name zking-mysql –network net-ry \\
-v /data/mysql/conf/my.cnf:/etc/my.cnf \\
-v /data/mysql/data:/var/lib/mysql \\
–privileged=true –restart=always \\
-e MYSQL_ROOT_PASSWORD=sasa -p 3306:3306 \\
mysql/mysql-server:5.7

用docker一键部署前后端分离项目的详细流程

等待时间有点久

检查

docker ps

用docker一键部署前后端分离项目的详细流程

远程连接

# 进入容器
docker exec -it zking-mysql /bin/bash

# 登录
mysql -u root -p;

# 创建用户及授权
grant all privileges on *.* to root@\’%\’ identified by \’sasa\’ with grant option;

# 刷新权限
flush privileges;

注意:0- 1-工具原因,复制进去记得删除

用docker一键部署前后端分离项目的详细流程

工具测试

用docker一键部署前后端分离项目的详细流程

四、部署后端服务

4.1、创建数据库

用docker一键部署前后端分离项目的详细流程

运行sql文件

用docker一键部署前后端分离项目的详细流程

4.2、使用Dockerfile自定义镜像

# 1.构建Dockerfile镜像
1)切换到家目录
cd ~

#新建文件夹
mkdir ruoyi-admin

#切进去
cd ruoyi-admin

2)上传ruoyi-admin.jar到Dockerfile_ruoyi-admin文件所在目录

用docker一键部署前后端分离项目的详细流程

用docker一键部署前后端分离项目的详细流程

用docker一键部署前后端分离项目的详细流程

测试

docker images

#运行容器
docker run -itd –name ruoyi-admin –network net-ry -p 80 80:8080 ruoyi-admin

docker ps

#进入容器
docker exec -it ruoyi-admin /bin/bash

#查看日志
cd /home/ruoyi/logs/

ls -l

用docker一键部署前后端分离项目的详细流程

测试

用docker一键部署前后端分离项目的详细流程

五、前端部署

5.1、nginx部署

分析nginx.conf

用docker一键部署前后端分离项目的详细流程

5.2、具体步骤

# 1.创建目录
mkdir -p /data/nginx/{conf,html}

# 2.切换到conf目录
cd /data/nginx/conf/

#3上传nginx.conf至/data/nginx/conf文件夹中

用docker一键部署前后端分离项目的详细流程

运行启动容器

docker run -itd –name zking-nginx –network net-ry -p 80:80 \\
-v /data/nginx/conf/nginx.conf:/etc/nginx/nginx.conf \\
-v /data/nginx/html:/usr/share/nginx/html \\
–privileged=true –restart=always \\
nginx

用docker一键部署前后端分离项目的详细流程

位置解释

用docker一键部署前后端分离项目的详细流程

切换目录

cd /data/nginx/html/

上传项目

用docker一键部署前后端分离项目的详细流程

解压

#下载解压命令
yum install -y unzip

#输入解压命令dist.zip压缩包名字
unzip dist.zip

用docker一键部署前后端分离项目的详细流程

用docker一键部署前后端分离项目的详细流程

测试

去浏览器输入ip

因为前端是80所有后面不需要带端口,直接IP就可以了

用docker一键部署前后端分离项目的详细流程

点击登录就成功了

用docker一键部署前后端分离项目的详细流程

以上就是用docker一键部署前后端分离项目的详细流程的详细内容,更多关于docker部署前后端分离项目的资料请关注悠久资源网其它相关文章!

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

悠久资源 Linux服务器 用docker一键部署前后端分离项目的详细流程 https://www.u-9.cn/server/linux/186024.html

常见问题

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务