文章目录
- 后端
- 一、搭建局域网
- 二、redis安装
- 测试
- 三、MySQL安装
- 四、后端项目放入位置及使用Dockerfile自定义镜像
- 后端项目放入位置
- 前端配置
- 检查各个端口是否启动
- nginx部署
首先得先把内部的文件给删除清空
docker images
–查看有哪些文件
docker rmi -f ID
–删除ID
后端
一、搭建局域网
【都是在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
最后,下列就是后台配置好了
前端配置
检查各个端口是否启动
- docker ps
- docker ps -a
docker start ruoyi-admin
nginx部署
分析nginx.conf
具体步骤
# 1.创建目录
mkdir -p /data/nginx/{conf,html}
# 2.切换到conf目录
cd /data/nginx/conf/
#3上传nginx.conf至/data/nginx/conf文件夹中
运行启动容器
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
位置解释
解压
#下载解压命令
yum install -y unzip
#输入解压命令dist.zip压缩包名字
unzip dist.zip
项目就配置完成了