Docker-部署若依项目-后端

时间:2024-03-10 20:40:46

一、搭建局域网

【都是在root的~目录下进行的】
--搭建net-ry局域网,用于部署若依项目
docker network create net-ry --subnet=172.68.0.0/16 --gateway=172.68.0.1

--局域网的查看
docker network ls

# 注意1:关闭宿主机的防火墙,否则容器内部的MySQL、redis等服务,外部访问不了;开放端口3306、6379端口也没用
--查看防火墙状态
systemctl status firewalld
--停止防火墙
systemctl stop 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.

--重启docker
systemctl restart docker

二、redis安装

--创建两个目录
mkdir -p /data/redis/{conf,data}
 
--进入到redis这个目录下
cd /data/redis/
--查看是否创建成功{conf,data}这两个文件
ll
--进入conf目录中放置redis.conf文件
cd  conf

在这里插入图片描述
把redis.conf文件放入conf目录中
在这里插入图片描述

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 

在这里插入图片描述

测试

方式一:

#进入容器
[root@localhost conf]# 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> exit【ctrl+d】
 
 --退出可以按 Ctrl+d

在这里插入图片描述
方式二:
在这里插入图片描述

三、MySQL安装

#退出程序
exit
 
#退出容器
Ctrl+P+Q
 
# 1.创建文件夹
mkdir -p /data/mysql/{conf,data}

在这里插入图片描述

#进入conf
cd  /data/mysql/conf/
 
# 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 ps

在这里插入图片描述
远程连接

 
# 进入容器
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; 

在这里插入图片描述
工具测试
在这里插入图片描述

四、后端项目放入位置及使用Dockerfile自定义镜像

后端项目放入位置

# 1.构建Dockerfile镜像
1)切换到家目录
cd ~
 
#新建文件夹
mkdir ruoyi-admin
 
#切进去
cd ruoyi-admin
 
2)上传ruoyi-admin.jar到Dockerfile_ruoyi-admin文件所在目录
 

在这里插入图片描述
在这里插入图片描述

#重命名
mv Dockerfile_ruoyi-admin Dockerfile
 
4)ruoyi-admin为镜像名称,开始制作镜像
docker build -t ruoyi-admin .

查看自己做的镜像

docker images

在这里插入图片描述

docker images
 
#运行容器
docker run -itd --name ruoyi-admin --network net-ry -p 8080:8080  ruoyi-admin
 
docker ps
 
#进入容器
docker exec -it ruoyi-admin /bin/bash
 
#查看日志
cd /home/ruoyi/logs/
 
ls -l

在这里插入图片描述

最后,下列就是后台配置好了
在这里插入图片描述