记录日常工作关于系统运维,虚拟化云计算,数据库,网络安全等各方面问题。

docker+Portainer容器化部署nacos+rouyi_cloud+SkyWalking+sentinel


RuoYi-Cloud是一款基于Spring Boot、Spring Cloud & Alibaba、Vue、Element的前后端分离微服务极速后台开发框架。

RuoYi-Cloud 是一个 Java EE 企业级快速开发平台,基于经典技术组合(Spring Boot、Spring Cloud & Alibaba、Vue、Element),内置模块如:部门管理、角色用户、菜单及按钮授权、数据权限、系统参数、日志管理、代码生成等。在线定时任务配置;支持集群,支持多数据源。

系统模块

~~~
com.ruoyi    
├── ruoyi-ui              // 前端框架 [80]
├── ruoyi-gateway         // 网关模块 [8080]
├── ruoyi-auth            // 认证中心 [9200]
├── ruoyi-api             // 接口模块
│       └── ruoyi-api-system                          // 系统接口
├── ruoyi-common          // 通用模块
│       └── ruoyi-common-core                         // 核心模块
│       └── ruoyi-common-datascope                    // 权限范围
│       └── ruoyi-common-datasource                   // 多数据源
│       └── ruoyi-common-log                          // 日志记录
│       └── ruoyi-common-redis                        // 缓存服务
│       └── ruoyi-common-security                     // 安全模块
│       └── ruoyi-common-swagger                      // 系统接口
├── ruoyi-modules         // 业务模块
│       └── ruoyi-system                              // 系统模块 [9201]
│       └── ruoyi-gen                                 // 代码生成 [9202]
│       └── ruoyi-job                                 // 定时任务 [9203]
│       └── ruoyi-file                                // 文件服务 [9300]
├── ruoyi-visual          // 图形化管理模块
│       └── ruoyi-visual-monitor                      // 监控中心 [9100]
├──pom.xml                // 公共依赖



环境部署


#1,准备工作


JDK >= 1.8 (推荐1.8版本)
Mysql >= 5.7.0 (推荐5.7版本)
Redis >= 3.0
Maven >= 3.0
Node >= 10
nacos >= 1.1.0 (ruoyi-cloud >= 3.0.0需要下载nacos >= 2.x.x版本)
sentinel >= 1.6.0 
skywalking
Centos7.8 IP: 192.168.137.38
docker最新版本
Portainer UI


2,移除以前docker相关包


sudo yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine


3、配置yum源


sudo yum install -y yum-utils
sudo yum-config-manager \
--add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo


4、安装docker


sudo yum install -y docker-ce docker-ce-cli containerd.io


5、启动
systemctl enable docker --now


6、配置加速

这里额外添加了docker的生产环境核心配置cgroup


sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://82m9ar63.mirror.aliyuncs.com"],
  "exec-opts": ["native.cgroupdriver=systemd"],
  "log-driver": "json-file",
  "log-opts": {
    "max-size": "100m"
  },
  "storage-driver": "overlay2"
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker


7,给docker安装个UI


dokcer安装好后,第一步,给docker安装个UI,避免命令出现审判疲劳,这里就安装6053537/portainer-ce的镜像,是汉化版本。

[root@centos-38 ~]#  docker run -d --name portainerUI -p 9000:9000 -v /var/run/docker.sock:/var/run/docker.sock 6053537/portainer-ce

通过此地址登陆: http://192.168.137.38:9000/





8,docker 部署安装nacos-docker。

     容器如出现时间或时区不正常,可以在UI中部署时的环境中添加变量: TZ=Asia/Shanghai


[root@centos-38 ~]# yum install git -y
[root@centos-38 ~]# git clone https://github.com/nacos-group/nacos-docker.git
[root@centos-38 ~]#  mv nacos-docker /opt/

[root@centos-38 ~]# cd /opt/nacos-docker/



这里使用 docker-compose来部署,只是有些nacos的有些配置文件要修改下。

这里需要使用ry-config的数据库,所以需要修改env/nacos-standlone-mysql.envs相关信息

[root@centos-38 nacos-docker]# cat env/nacos-standlone-mysql.env


PREFER_HOST_MODE=hostname
MODE=standalone
SPRING_DATASOURCE_PLATFORM=mysql
MYSQL_SERVICE_HOST=mysql
MYSQL_SERVICE_DB_NAME=ry-config
MYSQL_SERVICE_PORT=3306
MYSQL_SERVICE_USER=root
MYSQL_SERVICE_PASSWORD=root
MYSQL_SERVICE_DB_PARAM=characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useSSL=false


最后可以部署docker容器:


[root@centos-38 ~]# docker-compose -f example/standalone-mysql-8.yaml up


到portainer中查看如下:




9,相关sql导入到mysql容器中。

下载ruoyi_cloud的相关mysql数据的sql,点击打开链接可以下载相关SQL文件。

这些数据库sql有给ruoyi使用的,还有给nacos使用,需要创建4个库,我这里就直接导入到nacos中的mysql中。

操作好后,可以登陆web页面 http://192.168.137.38:8848/nacos ,显示如下:


ruoyi_cloud后端运行基础模块(启动没有先后顺序)

  • RuoYiGatewayApplication (网关模块 必须
  • RuoYiAuthApplication (认证模块 必须
  • RuoYiSystemApplication (系统模块 必须
  • RuoYiMonitorApplication (监控中心 可选
  • RuoYiGenApplication (代码生成 可选
  • RuoYiJobApplication (定时任务 可选
  • RuoYFileApplication (文件服务 可选
[root@centos-38 config]# docker run -p 6379:6379 --name redis -v /opt/redis/config/redis.conf:/etc/redis/redis.conf -v /opt/redis/data:/data -d redis:6.2.6 redis-server /etc/redis/redis.conf --appendonly yes
# Tomcat
server:
  port: 8080

# Spring
spring:
  application:
    # 应用名称
    name: ruoyi-gateway
  profiles:
    # 环境配置
    active: dev
  main:
    allow-bean-definition-overriding: true
  cloud:
    nacos:
      discovery:
        # 服务注册地址
        server-addr: 192.168.137.38:8848
      config:
        # 配置中心地址
        server-addr: 192.168.137.38:8848
        # 配置文件格式
        file-extension: yml
        # 共享配置
        shared-configs:
          - application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension}
    sentinel:
      # 取消控制台懒加载
      eager: true
      transport:
        # 控制台地址
        dashboard: 192.168.137.38:8718
      # nacos配置持久化
      datasource:
        ds1:
          nacos:
            server-addr: 192.168.137.38:8848
            dataId: sentinel-ruoyi-gateway
            groupId: DEFAULT_GROUP
            data-type: json
            rule-type: flow




转载请标明出处【docker+Portainer容器化部署nacos+rouyi_cloud+SkyWalking+sentinel】。

《www.micoder.cc》 虚拟化云计算,系统运维,安全技术服务.

网站已经关闭评论