若依框架docker部署

环境部署

系统环境检查

1. 查看防火墙状态

打开终端,输入以下命令来检查firewalld服务的状态:

1
sudo systemctl status firewalld

如果服务正在运行,你将看到active (running)的字样。

2. 开启端口

2.1 开启TCP端口

如果你要开启一个TCP端口(例如端口8080),使用以下命令:

1
sudo firewall-cmd --zone=public --add-port=8080/tcp --permanent

2.2 开启UDP端口

如果你要开启一个UDP端口(例如端口8080),使用以下命令:

1
sudo firewall-cmd --zone=public --add-port=8080/udp --permanent

--permanent选项确保了更改在系统重启后仍然有效。

3. 重新加载防火墙规则

为了使更改立即生效,你可以重新加载防火墙规则:

1
sudo firewall-cmd --reload

4. 验证端口是否开启

使用以下命令来检查端口是否已经成功添加:

1
sudo firewall-cmd --zone=public --list-ports

这将列出所有在public区域中开放的端口。

5. 如果觉得不方便可直接关闭防火墙

1
2
3
4
5
6
##查看防火墙状态
firewall-cmd --state
##关闭防火墙
systemctl stop firewalld.service
##禁止开机启动
systemctl disable firewalld.service

docker安装(略)

docker一键部署

  1. 文件结构
名称 说明 备注
config 存放redis和nginx配置文件
db 存放初始化sql
html 前端代码
jar jar包
log 日志

  1. docker-compose
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77

version : '3'
services:
ruoyi-mysql:
container_name: ruoyi-mysql
image: mysql:5.7
build:
context: .
dockerfile: mysql-dockerfile
ports:
- "3306:3306"
volumes:
- ./mysql/conf:/etc/mysql/conf.d
- ./mysql/logs:/logs
- ./mysql/data:/var/lib/mysql
- /etc/localtime:/etc/localtime:ro
command: [
'mysqld',
'--innodb-buffer-pool-size=80M',
'--character-set-server=utf8mb4',
'--collation-server=utf8mb4_unicode_ci',
'--default-time-zone=+8:00',
'--lower-case-table-names=1'
]
environment:
MYSQL_DATABASE: 'tmp_db'
MYSQL_ROOT_PASSWORD: M2WgwE6iRhQq5VzD
ruoyi-redis:
container_name: ruoyi-redis
image: redis
build:
context: .
dockerfile: redis-dockerfile
ports:
- "6379:6379"
volumes:
- ./conf/redis.conf:/home/ruoyi/redis/redis.conf
- ./redis/data:/data
- /etc/localtime:/etc/localtime:ro
command: redis-server /home/ruoyi/redis/redis.conf
ruoyi-nginx:
container_name: ruoyi-nginx
image: nginx
build:
context: .
dockerfile: nginx-dockerfile
ports:
- "8080:8080"
volumes:
- ./html:/home/ruoyi/projects/ruoyi-ui
- ./conf/nginx.conf:/etc/nginx/nginx.conf
- ./nginx/logs:/var/log/nginx
- ./nginx/conf.d:/etc/nginx/conf.d
- /etc/localtime:/etc/localtime:ro
depends_on:
- ruoyi-server
links:
- ruoyi-server
ruoyi-server:
container_name: ruoyi-server
build:
context: .
dockerfile: ruoyi-dockerfile
ports:
- "8085:8085"
volumes:
- ./logs:/home/ruoyi/logs
- ./jar/uploadPath:/home/ruoyi/uploadPath
- /etc/localtime:/etc/localtime:ro
- ./jar:/home/ruoyi
depends_on:
- ruoyi-mysql
- ruoyi-redis
links:
- ruoyi-mysql
- ruoyi-redis

  1. mysql-dockerfile
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10

    # 基础镜像
    FROM mysql:5.7
    # author
    MAINTAINER ruoyi

    # 执行sql脚本
    ADD ./db/*.sql /docker-entrypoint-initdb.d/


  2. redis-dockerfile
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16

    # 基础镜像
    FROM redis
    # author
    MAINTAINER ruoyi

    # 挂载目录
    VOLUME /home/ruoyi/redis
    # 创建目录
    RUN mkdir -p /home/ruoyi/redis
    # 指定路径
    WORKDIR /home/ruoyi/redis
    # 复制conf文件到路径
    COPY ./conf/redis.conf /home/ruoyi/redis/redis.conf


  3. nginx-dockerfile
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18

    # 基础镜像
    FROM nginx
    # author
    MAINTAINER ruoyi

    # 挂载目录
    VOLUME /home/ruoyi/projects/ruoyi-ui
    # 创建目录
    RUN mkdir -p /home/ruoyi/projects/ruoyi-ui
    # 指定路径
    WORKDIR /home/ruoyi/projects/ruoyi-ui
    # 复制conf文件到路径
    COPY ./conf/nginx.conf /etc/nginx/nginx.conf
    # 复制前端文件到路径
    COPY ./html /home/ruoyi/projects/ruoyi-ui


  4. server-dockerfile
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21

    # 基础镜像
    FROM openjdk:8-jre
    # author
    MAINTAINER kikock-sbservice

    # 挂载目录
    VOLUME /home/ruoyi
    # 创建目录
    RUN mkdir -p /home/ruoyi
    # 指定路径
    WORKDIR /home/ruoyi
    # 复制jar文件到路径
    COPY ./jar/service.jar /home/ruoyi/service.jar
    # 启动应用 时区参数
    ENV TZ=Asia/Shanghai
    ENV JAVA_OPTS="-Duser.timezone=$TZ"
    # 启动应用
    ENTRYPOINT ["java","-jar","service.jar"]


nginx根据具体内容配置(略)