Docker部署若依前后端分离项目

目录

一.搭建项目部署的局域网

二.redis安装

三.mysql安装

四.若依后端项目搭建

五.nginx安装

六.前端项目搭建


一.搭建项目部署的局域网

# 搭建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

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.

参考链接:https://blog.csdn.net/xiegongmiao/article/details/128409967
systemctl restart docker

二.redis安装

#创建目录
mkdir -p /data/redis/{conf,data}
#上传redis.conf文件到/data/redis/conf文件夹中
# bind 0.0.0.0 充许任何主机访问
# daemonize no 
# requirepass sasa

执行以下命令安装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 

注:

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

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

测试一下:

docker exec -it zking-redis /bin/bash

cd /usr/local/bin/

redis-cli

三.mysql安装

# 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;

#输入密码
# 创建用户及授权
grant all privileges on *.* to root@'%' identified by 'sasa' with grant option;
# 刷新权限
flush privileges;


navicat测试:

创建数据库:

  1. 使用客户端工具初始化数据库

  2. 使用命令初始化数据库

#登录到控制台
mysql -u root -p
#执行sql
source sql文件全路径

注:这里我用的是navicat连接工具。

四.若依后端项目搭建

使用Dockerfile自定义镜像:

# 1.构建Dockerfile镜像
1)切换到家目录
cd ~
mkdir ruoyi-admin
cd ruoyi-admin
2)编写Dockerfile文件内容
vim 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

#查看日志

docker exec -it ruoyi-admin /bin/bash

cd /home/ruoyi/logs

#查看是否搭建完毕

这样后端就部署完啦。

五.nginx安装

# 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

接下来只需在浏览器输入对应端口即可访问前端了。

  • 29
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值