四个服务器去部署。
搭建net-ry局域网,用于部署若依项目
docker network create net-ry --subnet=172.68.0.0/16 --gateway=172.68.0.1
查看局域网
docker network ll
docker network ls
注意1:关闭宿主机的防火墙,否者容器内部的MySQL、redis等服务,外部访问不了;开放端口3306、6379端口也没用。
查看防火墙是否关闭
systemctl status firewalld
项目没上线的时候防火墙是可以关闭的,容易测试问题
项目上线的话就必须开启
所以我就要停掉防火墙
systemctl stop firewalld
注意:关闭防火墙的时候,必须记得重启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 restart docker
目前为止局域网就搭建完了
①创建目录
mkdir -p /data/redis/{conf,data}
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
查看redis有没有启动成功
docker exec -it zking-redis /bin/bash
whereis redis-cli
cd /usr/local/bin
ls
redis-cli
ping
可以看到是成功的
- –privileged=true :让容器root用户拥有最高权限,否则可能会出现权限不够错误
- redis-server /etc/redis/redis.conf:容器启动时执行的命令及读取的配置
- redis-6.2.6.tar.gz压缩包中找到redis.conf官方配置文件
- 在hub.docker.com中找到启动redis方式
数据库存储位置
mkdir -p /data/mysql/{conf,data}
mv my2.cnf my.cnf
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
先登录进去
mysql -u root -p
创建用户及授权
grant all privileges on *.* to root@'%' identified by 'sasa' with grant option;
刷新
flush privileges;
刷新完之后去外部访问,看能访问不
装好了之后就要去初始化数据库脚本
你也可以使用其他方式
1. 使用客户端工具初始化数据库
2. 使用命令初始化数据库
到这里数据库就完成了。
把项目打包是开发人员做的事情
1)切换到家目录
cd ~
mkdir ruoyi-admin
cd ruoyi-admin
把自定义镜像也放进去
mv Dockerfile_ruoyi-admin Dockerfile
运行容器
docker run -itd --name ruoyi-admin --network net-ry -p 8080:8080 ruoyi-admin
然后进入到容器看是否正常(查看日志)
然后去看后端项目搭建好了没,去测试一下
到目前为止后端项目就部署成功了。(如果还有不懂的私信博主)