赞
踩
目录
一张图带你看懂ruoyi的前后端项目部署
得出结论:需要4台服务器,都处于同一个局域网中,方便操作
搭建net-ry局域网,用于部署若依项目
- docker network create net-ry --subnet=172.68.0.0/16 --gateway=172.68.0.1
-
- # 注意1:关闭宿主机的防火墙,否者容器内部的MySQL、redis等服务,外部访问不了;开放端口3306、6379端口也没用。
- systemctl status firewalld
-
- # 注意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.
关闭防火墙
systemctl stop firewalld
关闭防火墙,一定要记得重启否则后面制作自定义镜像会报错
systemctl restart docker
- #创建目录
- mkdir -p /data/redis/{conf,data}
- #上传redis.conf文件到/data/redis/conf文件夹中
- # bind 0.0.0.0 充许任何主机访问
- # daemonize no
- # requirepass sasa
把以下代码copy到/data/redis/conf下运行
- #启动容器不进入容器,取了个名字zking-redis,映射了端口署主机6379端口映射到容器
- #做了一个挂载,把我们署主机的redis配置文件,映射到容器内部的redis配置文件
- #redis缓存数据,署主机的redis data 映射到容器redis data文件
- #给予容器的root最高权限,docker引擎启动
- #把zking 加入到net-ry局域网中
- #容器会执行的一个命令,读取redis配置文件
-
- 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
- # 1.创建文件夹
- mkdir -p /data/mysql/{conf,data}
- # 2.上传my.cnf文件到/data/mysql/conf文件夹中 (可以将my2.cnf修改好在Linux中重命名为my.cnf)
- mv my2.cnf my.cnf
- # 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 exec -it zking-mysql /bin/bash
登录
- #登录
- mysql -u root -p;
- 输入密码:
- sasa
- # 创建用户及授权
- grant all privileges on *.* to root@'%' identified by 'sasa' with grant option;
- # 刷新权限
- flush privileges;
外部访问
#登录到控制台
mysql -u root -p
#执行sql
source sql文件全路径注意!:博主使用的是外部工具navicat,进行导入的数据
1.构建Dockerfile镜像
- 1)切换到家目录
- cd ~
- 2)创建目录
- mkdir ruoyi-admin
- 3)切换到该路径
- cd ruoyi-admin
上传jar文件
上传文件:Dockerfile_ruoyi-admin 2)编写Dockerfile文件内容
- vim Dockerfile_ruoyi-admin
-
- #把以下代码放到Dockerfile_ruoyi-admin
- FROM anapsix/alpine-java:8_server-jre_unlimited
- MAINTAINER "donkee@vip.qq.com"
- ADD ruoyi-admin.jar /opt/app.jar
- EXPOSE 8080
- ENTRYPOINT ["java","-jar","/opt/app.jar"]
3)上传ruoyi-admin.jar到Dockerfile_ruoyi-admin文件所在目录
4)ruoyi-admin为镜像名称,开始制作镜像
- mv Dockerfile_ruoyi-admin Dockerfile
- #构建镜像
- docker build -t ruoyi-admin .
运行容器
docker run -itd --name ruoyi-admin --network net-ry -p 8080:8080 ruoyi-admin
可以去 cd /home/ruoyi/logs 查看我们的日志错误
我们去访问一下,看一下后端项目是否部署成功
1.创建目录
mkdir -p /data/nginx/{conf,html}
2.上传nginx.conf至/data/nginx/conf文件夹中
3.运行启动容器
- 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
把我们前端项目放到,/data/nginx/html
解压
- #没有解压工具 yum install -y unzip
- unzip dist.zip
解压完后,我们去浏览器上登录,可以看到没有问题,今天就到这里啦!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。