使用docker的好处: 只需要一次配置好环境,换到别的机子上就可以一键部署好,大大简化操作。
在liunx下载docker
关系图
Docker镜像(image)就是一个只读
的模板。镜像可以用来创建Docker容器,一个镜像可以创建很多个容器
yum install -y docker
yum 失效 24-08-01
https://blog.csdn.net/qq_46302361/article/details/140169844
## 需要更改一下下载镜像,不然连接的是外网
vim /etc/docker/daemon.json
添加数据
"registry-mirrors":["https://almtd3fa.mirror.aliyuncs.com"]
Docker命令
帮助命令
docker info 查看docker详细信息
docker --help 查看docker的命令
docker version 查看docker的版本信息
如果在容器中vi 和 vim 没有用的话执行下面的命令
1. apt-get update 2. apt-get install vim
镜像命令
doucker images 列出本地的镜像
参数: -a 列出本地所有的镜像 -q 只显示镜像id
docker search *** 搜索镜像仓库
参数: -s num 过滤掉num个star数的
docker pull **** 从镜像仓库中下载镜像 tomcat:8
docker rmi *** 删除一个镜像 可以同时删除多个镜像
docker rmi -f $(docker images -q) 删除所有的镜像
参数 -f 强制删除
docker run [OPTIONS] image [COMMAND][ARG...] 通过镜像创建一个容器
参数 --name 起一个别名 -d 后台运行容器
-i 以交互模式运行容器,通常与-t同时使用 -t 为容器重新分配一个伪输入终端,通常与 -i同时使用
-P 随机端口映射 -p 指定端口映射
docker ps 查看docker启动的容器
参数 -a 查看所有的启动和历史记录(过去开过的容器) -q 只显示容器的id
docker start 容器ID 可以启动容器
docker restart 容器ID 可以重启容器
docker stop 容器ID 可以停止容器
docker kill 容器ID 强制关闭容器
docker rm -f 容器ID 删除容器
Ctrl+p+q 退出容器 exit 退出容器并关闭容器
docker top 容器ID 查看容器中的进程
docker inspect 容器ID 查看容器内部细节
docker exec -it 容器ID /bin/bash 进入已经运行的容器
docker attach 容器ID 进入已经运行的容器
docker cp 容器ID:文件地址 本机保持地址 将容器中的文件保存到本机
docker cp 本地文件 容器ID:保存地址 将本地的文件保存到容器中
docker commit 容器ID 取名字 --> hg/tomcat8:1.2 将容器转变成一个镜像
参数 -m 提交的描述信息 -a 提交人名字
docker update --restart=always xxx 设置docker容器随着docker的启动而启动
容器数据卷
主要功能: 容器的持久化,·容器间继承 + 数据共享·
建立和主机和docker的文件共享
建立一个主机和容器相互连接的文件,只有一方更改对方也会更改
docker run -v 主机文件地址 : docker容器文件地址 镜像
docker run -v 主机文件地址 : docker容器文件地址:ro 镜像 添加一个 :ro 说明主机或者容器只支持读
参数: -it 进入容器 -d 后台运行
docker run -d --name dc02 --volumes-form dc01 centos 继承自一个容器,并且开启容器,优势可以实现文件的共享
DockerFile
dockerFile 是用来构建Docker镜像的构建文件,是由一系列命令和参数构成的脚本
从应用软件的角度来看,DockerFile,Dokcer镜像与Docker容器分别代表软件的三个不同阶段。
- DockerFile 是软件的原材料
- Docker镜像是软件的交付品
- Docker容器则可以认为是软件的运行态
DockerFile面向开发,Docker镜像成为交付 标准,Docker容器则涉及部署于运维。
DockerFile 体系结构(保留字指令)
FROM 基础镜像,当前新镜像是基于哪个镜像的
MAINTAINER 镜像维护者的姓名和邮箱地址
RUN 容器构建时需要运行的命令
EXPOSE 当前容器对外暴露出的端口
WORKDIR 指定在创建容器后,终端默认登入进来目录,一个落脚点
ENV 用来在构建镜像过程中设置环境变量
ADD 将主机目录下的文件拷贝进镜像且ADD命令会自动处理和解压tar压缩包
COPY 类似ADD,拷贝文件和目录到镜像中。
将从构建上下文目录<源路径>的文件/目录复杂到新的一层的镜像内的<目录路径>
VOLUME 容器数据卷,用于数据保存和持久化工作
CMD 指定一个容器启动时要运行的命令 exec shell
DockerFile 中可以有多个CMD指令,但只有最后一个生效,CMD会被docker run之后的参数替代
ENTRYPOINT 指定一个容器启动时要运行的命令
ENTRYPOINT的目地和CMD一样,都是在指定容器启动程序及参数
ONBUILD 当构建一个被继承的DockerFile时运行命令,父镜像在被子继承后父镜像的ONBLIUD被触发
构建一个自己的doucke镜像
docker build -f DockerFile路径 -t docker镜像名称:版本 .
Docker-compose安装
安装docker-compose
sudo curl -L https://github.com/docker/compose/releases/download/1.16.1/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
docker-compose基本命令
1. 创建并启动容器
docker-compose up -d hcode-mysql
2. 启动容器
docker-compose start hcode-mysql
3. 关闭容器
docker-compose stop hcode-mysql
mysql、redis、nginx、Nacos、RabbitMQ、Nexus安装
1. 创建/opt/dockerCompose/docker-compose.yml文件
2. 进入目录执行命令
docker-compose up -d hcode-mysql
# tips,redis启动前最好把redis.conf创建好先
docker-compose up -d hcode-redis
# tips,nginx/conf下的文件需要先准备好
docker-compose up -d hcode-nginx
配置文件
version : '3'
services:
hcode-mysql:
image: mysql:5.7
container_name: hcode-mysql
restart: always
privileged: true
ports:
- "3388:3306"
volumes:
- ./mysql/conf:/etc/mysql/conf.d
- ./mysql/logs:/logs
- ./mysql/data:/var/lib/mysql
command: [
'mysqld',
# Mysql服务的唯一编号
'--server-id=1',
'--innodb-buffer-pool-size=80M',
# 数据库默认字符集
'--character-set-server=utf8mb4',
# 数据库字符集对应一些排序等规则,需要与默认字符集对应
'--collation-server=utf8mb4_unicode_ci',
# 设置client连接mysql时的字符集,防止乱码
'--init_connect=SET NAMES utf8mb4',
# SQL数据包发送的大小,如果有BLOB对象建议修改成1G
'--max_allowed_packet=128M',
# 默认的时间区域
'--default-time-zone=+8:00',
'--lower-case-table-names=1',
# 内部内存临时表的最大值 ,设置成128M
'--tmp_table_size=134217728',
'--max_heap_table_size=134217728',
# 最大连数量
'--max_connections=400',
# 最大错误连接数
'--max_connect_errors=1000',
# mysql默认的事务
'--transaction_isolation=READ-COMMITTED'
]
environment:
MYSQL_ROOT_PASSWORD: root
hcode-redis:
image: "redis"
container_name: hcode-redis
restart: always
privileged: true
ports:
- "6399:6379"
volumes:
- ./redis/reids.conf:/etc/redis/redis.conf:rw
- ./redis/data:/data:rw
command: redis-server /etc/redis/redis.conf --appendonly yes
hcode-nginx:
image: "nginx"
container_name: hcode-nginx
restart: always
privileged: true
hostname: nginx
ports:
- 8080:80
volumes:
- ./nginx/conf/:/etc/nginx/
- ./nginx/cert/:/etc/cert/
- ./nginx/html/:/usr/share/nginx/html/
- ./nginx/logs/:/var/log/nginx/
hcode-nacos:
image: "nacos/nacos-server:1.3.1"
container_name: hcode-nacos
restart: always
privileged: true
ports:
- 8848:8848
environment:
MODE: standalone
PREFER_HOST_MODE: ip
SPRING_DATASOURCE_PLATFORM: mysql
MYSQL_SERVICE_HOST: 192.168.109.128
MYSQL_SERVICE_DB_NAME: hgb
MYSQL_SERVICE_PORT: 3306
MYSQL_SERVICE_USER: root
MYSQL_SERVICE_PASSWORD: root
JVM_XMS: 128m
JVM_XMX: 128m
JVM_MS: 64m
JVM_MMS: 64m
hcode-rabbit:
image: "rabbitmq"
container_name: hcode-rabbit
restart: always
privileged: true
ports:
- 5672:5672
- 15672:15672
volumes:
- .rabbit/data/:/var/lib/rabbitmq/
hcode-nexus:
image: "sonatype/nexus3"
container_name: hcode-nexus
restart: always
privileged: true
ports:
- 8099:8081
volumes:
- ./nexus/nexus-data:/nexus-data
# 安装前提 1. 切换用户执行 docker-compose up -d 命令 2. /data下东西需要提前准备
hcode-elastice:
image: "elasticsearch:6.8.12"
container_name: hcode-elastice
restart: always
privileged: true
ports:
- 9200:9200
- 9300:9300
environment:
ES_JAVA_OPTS: "-Xms256m -Xmx256m"
discovery.type: "single-node"
http.host: 0.0.0.0
cluster.name: cluster_elasticsearch
ulimits: # 线程限制关闭
memlock:
soft: -1
hard: -1
volumes:
- ./elastic/data:/usr/share/elasticsearch/data
- ./elastic/plugins:/usr/share/elasticsearch/plugins
hcode-kibana:
image: "kibana:6.8.12"
container_name: hcode-kibana
restart: always
privileged: true
ports:
- 5601:5601
environment:
ELASTICSEARCH_URL: http://192.168.254.128:9200
hcode-zookeeper:
image: "zookeeper"
container_name: hcode-zookeeper
restart: always
privileged: true
ports:
- 2181:2181
volumes:
- "./zookeeper/data:/data"
- "./zookeeper/datalog:/datalog"
- "./zookeeper/logs:/logs"
- "./zookeeper/conf:/conf"
environment:
ZOO_MY_ID: 1
hcode-kafka:
image: "wurstmeister/kafka"
container_name: hcode-kafka
restart: always
privileged: true
ports:
- 9092:9092
environment:
KAFKA_ADVERTISED_HOST_NAME: 192.168.153.110
KAFKA_ZOOKEEPER_CONNECT: 192.168.153.110:2181
volumes:
- "./kafka/data:/kafka"
- "./kafka/docker.sock:/var/run/docker.sock"
Nexus配置
创建仓库
配置信息,并创建
1. 修改maven配置文件
<servers>
<server>
<!-- 仓库名称 -->
<id>maven-releases-chode</id>
<!-- 用户、密码 PS: 不同用户角色不同,当前支持上传下载 -->
<username>admin</username>
<password>admin123</password>
</server>
</servers>
2. 项目中添加仓库配置
<distributionManagement>
<repository>
<id>maven-releases-chode</id>
<name>Nexus Releases Repository</name>
<url>http://192.168.254.128:8081/repository/maven-releases-chode/</url>
</repository>
</distributionManagement>
Nginx配置文件
# nginx配置文件
user nginx;
worker_processes auto;
error_log /var/log/nginx/error.log notice;
pid /var/run/nginx.pid;
events {
worker_connections 1024;
}
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
access_log /var/log/nginx/access.log;
server {
listen 80;
server_name localhost;
location / {
root /opt/dockerCompose/nginx/html/;
index index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
sendfile on;
keepalive_timeout 65;
include /etc/nginx/conf.d/*.conf;
}
Logstash配置文件
# logstash/config/logstash.yml
http.host: "0.0.0.0"
xpack.monitoring.elasticsearch.hosts: [ "http://192.168.254.128:9200" ]
# logstash/pipeline/logstash.conf
input {
tcp {
mode => "server"
host => "0.0.0.0"
port => 5044
codec => json_lines
}
}
output {
elasticsearch {
hosts => "192.168.254.128:9200"
index => "TEST_HCODE"
}
}
zookeeper配置文件
clientPort=2181
dataDir=/data
dataLogDir=/datalog
tickTime=2000
initLimit=5
syncLimit=2
autopurge.snapRetainCount=3
autopurge.purgeInterval=0
maxClientCnxns=60
standaloneEnabled=true
admin.enableServer=true
elasticsearch的安装 版本必须一致 ik分词器 kibana elasticsearch
启动elasticsearch,并且在本地实现了目录的挂载
1. 创建对应的目录
/mydata/elasticsearch/config
/data
/pulgins
2. 在config下创建一个elasticsearch.yml的文件
3. 执行下面的命令
docker run --name ES -p 9200:9200 -p 9300:9300 -d \
-e "discovery.type=single-node" -e ES_JAVA_OPTS="-Xms256m -Xmx256m" \
-v /mydata/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml \
-v /mydata/elasticsearch/data:/usr/share/elasticsearch/data \
-v /mydata/elasticsearch/plugins:/usr/share/elasticsearch/plugins \
elasticsearch:6.8.12
问题一 : 使用java客户端访问不了,更改 /config/elasticsearch.yml
cluster.name: elasticsearch
network: 0.0.0.0
问题二: ik分词器的安装
将版本一致的ik分词器的zpi文件解压到plugings下
文件名是: ik-analyzer
unzip elasticsearch-analysis-ik-x.x.x.zip -d ik-analyzer
问题三:在Ik分词器添加外部自定义词库
# 配置外部扩展词库,只要能够服务到xxx.txt即可
这里使用nginx做代理,服务到xxx.txt
修改elasticsearch的plugins下的ik分词器插件的config下的 IKAnalyzer.cfg.xml,填写一个能够被服务到的txt文本
<entry key="remote_ext_dict">http://192.168.1.8/es/p.txt</entry>
安装kibana
docker run --name my-kibana -e ELASTICSEARCH_URL=http://192.168.99.100:9200 -p 5601:5601 -d kibana
# 在配置文件中加上
按照rabbitmq
1. docker pull rabbitmq:management
2. docker run --name rabbitmq -d -p -v /mydata/rabbitmq/config:/etc/rabbitmq/ 15672:15672 -p 5672:5672 rabbitmq:management
3. docker top rabbitmq
4. 访问即可密码和账号为guest
安装nginx
1. 在本地创建文件
/mydate/nginx/config
/html
/logs
2. 启动一个nginx容器,并进入容器将 /etc/nginx下的文件拷贝到本地的 /mydata/nginx/config下
3. 在次启动nginx
docker run -d -p 80:80 --name nginx \
-v /mydata/nginx/html:/usr/share/nginx/html \
-v /mydata/nginx/logs:/var/log/nginx \
-v /mydata/nginx/config:/etc/nginx \
nginx:xxx
安装Nacos
# 使用前提是需要关闭防火墙(ContOS 7)
docker run -it
-e PREFER_HOST_MODE=ip \ (使用ip还是域名)
-e MODE=standalone \ (单机模式)
-e SPRING_DATASOURCE_PLATFORM=mysql \
-e MYSQL_SERVICE_HOST=192.168.109.128 \ (数据库地址)
-e MYSQL_SERVICE_PORT=3306 \
-e MYSQL_SERVICE_DB_NAME=hgb \
-e MYSQL_SERVICE_USER=root \
-e MYSQL_SERVICE_PASSWORD=root \
-p 8848:8848 --name nacos \
--restart=always --privileged=true nacos/nacos-server
# 创建一个数据库,并执行脚本
/******************************************/
/* 数据库全名 = nacos_config */
/* 表名称 = config_info */
/******************************************/
CREATE TABLE `config_info` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id',
`data_id` varchar(255) NOT NULL COMMENT 'data_id',
`group_id` varchar(255) DEFAULT NULL,
`content` longtext NOT NULL COMMENT 'content',
`md5` varchar(32) DEFAULT NULL COMMENT 'md5',
`gmt_create` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`gmt_modified` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',
`src_user` text COMMENT 'source user',
`src_ip` varchar(50) DEFAULT NULL COMMENT 'source ip',
`app_name` varchar(128) DEFAULT NULL,
`tenant_id` varchar(128) DEFAULT '' COMMENT '租户字段',
`c_desc` varchar(256) DEFAULT NULL,
`c_use` varchar(64) DEFAULT NULL,
`effect` varchar(64) DEFAULT NULL,
`type` varchar(64) DEFAULT NULL,
`c_schema` text,
PRIMARY KEY (`id`),
UNIQUE KEY `uk_configinfo_datagrouptenant` (`data_id`,`group_id`,`tenant_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='config_info';
/******************************************/
/* 数据库全名 = nacos_config */
/* 表名称 = config_info_aggr */
/******************************************/
CREATE TABLE `config_info_aggr` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id',
`data_id` varchar(255) NOT NULL COMMENT 'data_id',
`group_id` varchar(255) NOT NULL COMMENT 'group_id',
`datum_id` varchar(255) NOT NULL COMMENT 'datum_id',
`content` longtext NOT NULL COMMENT '内容',
`gmt_modified` datetime NOT NULL COMMENT '修改时间',
`app_name` varchar(128) DEFAULT NULL,
`tenant_id` varchar(128) DEFAULT '' COMMENT '租户字段',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_configinfoaggr_datagrouptenantdatum` (`data_id`,`group_id`,`tenant_id`,`datum_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='增加租户字段';
/******************************************/
/* 数据库全名 = nacos_config */
/* 表名称 = config_info_beta */
/******************************************/
CREATE TABLE `config_info_beta` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id',
`data_id` varchar(255) NOT NULL COMMENT 'data_id',
`group_id` varchar(128) NOT NULL COMMENT 'group_id',
`app_name` varchar(128) DEFAULT NULL COMMENT 'app_name',
`content` longtext NOT NULL COMMENT 'content',
`beta_ips` varchar(1024) DEFAULT NULL COMMENT 'betaIps',
`md5` varchar(32) DEFAULT NULL COMMENT 'md5',
`gmt_create` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`gmt_modified` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',
`src_user` text COMMENT 'source user',
`src_ip` varchar(50) DEFAULT NULL COMMENT 'source ip',
`tenant_id` varchar(128) DEFAULT '' COMMENT '租户字段',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_configinfobeta_datagrouptenant` (`data_id`,`group_id`,`tenant_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='config_info_beta';
/******************************************/
/* 数据库全名 = nacos_config */
/* 表名称 = config_info_tag */
/******************************************/
CREATE TABLE `config_info_tag` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id',
`data_id` varchar(255) NOT NULL COMMENT 'data_id',
`group_id` varchar(128) NOT NULL COMMENT 'group_id',
`tenant_id` varchar(128) DEFAULT '' COMMENT 'tenant_id',
`tag_id` varchar(128) NOT NULL COMMENT 'tag_id',
`app_name` varchar(128) DEFAULT NULL COMMENT 'app_name',
`content` longtext NOT NULL COMMENT 'content',
`md5` varchar(32) DEFAULT NULL COMMENT 'md5',
`gmt_create` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`gmt_modified` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',
`src_user` text COMMENT 'source user',
`src_ip` varchar(50) DEFAULT NULL COMMENT 'source ip',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_configinfotag_datagrouptenanttag` (`data_id`,`group_id`,`tenant_id`,`tag_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='config_info_tag';
/******************************************/
/* 数据库全名 = nacos_config */
/* 表名称 = config_tags_relation */
/******************************************/
CREATE TABLE `config_tags_relation` (
`id` bigint(20) NOT NULL COMMENT 'id',
`tag_name` varchar(128) NOT NULL COMMENT 'tag_name',
`tag_type` varchar(64) DEFAULT NULL COMMENT 'tag_type',
`data_id` varchar(255) NOT NULL COMMENT 'data_id',
`group_id` varchar(128) NOT NULL COMMENT 'group_id',
`tenant_id` varchar(128) DEFAULT '' COMMENT 'tenant_id',
`nid` bigint(20) NOT NULL AUTO_INCREMENT,
PRIMARY KEY (`nid`),
UNIQUE KEY `uk_configtagrelation_configidtag` (`id`,`tag_name`,`tag_type`),
KEY `idx_tenant_id` (`tenant_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='config_tag_relation';
/******************************************/
/* 数据库全名 = nacos_config */
/* 表名称 = group_capacity */
/******************************************/
CREATE TABLE `group_capacity` (
`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键ID',
`group_id` varchar(128) NOT NULL DEFAULT '' COMMENT 'Group ID,空字符表示整个集群',
`quota` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '配额,0表示使用默认值',
`usage` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '使用量',
`max_size` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '单个配置大小上限,单位为字节,0表示使用默认值',
`max_aggr_count` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '聚合子配置最大个数,,0表示使用默认值',
`max_aggr_size` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '单个聚合数据的子配置大小上限,单位为字节,0表示使用默认值',
`max_history_count` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '最大变更历史数量',
`gmt_create` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`gmt_modified` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_group_id` (`group_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='集群、各Group容量信息表';
/******************************************/
/* 数据库全名 = nacos_config */
/* 表名称 = his_config_info */
/******************************************/
CREATE TABLE `his_config_info` (
`id` bigint(64) unsigned NOT NULL,
`nid` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
`data_id` varchar(255) NOT NULL,
`group_id` varchar(128) NOT NULL,
`app_name` varchar(128) DEFAULT NULL COMMENT 'app_name',
`content` longtext NOT NULL,
`md5` varchar(32) DEFAULT NULL,
`gmt_create` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
`gmt_modified` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
`src_user` text,
`src_ip` varchar(50) DEFAULT NULL,
`op_type` char(10) DEFAULT NULL,
`tenant_id` varchar(128) DEFAULT '' COMMENT '租户字段',
PRIMARY KEY (`nid`),
KEY `idx_gmt_create` (`gmt_create`),
KEY `idx_gmt_modified` (`gmt_modified`),
KEY `idx_did` (`data_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='多租户改造';
/******************************************/
/* 数据库全名 = nacos_config */
/* 表名称 = tenant_capacity */
/******************************************/
CREATE TABLE `tenant_capacity` (
`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键ID',
`tenant_id` varchar(128) NOT NULL DEFAULT '' COMMENT 'Tenant ID',
`quota` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '配额,0表示使用默认值',
`usage` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '使用量',
`max_size` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '单个配置大小上限,单位为字节,0表示使用默认值',
`max_aggr_count` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '聚合子配置最大个数',
`max_aggr_size` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '单个聚合数据的子配置大小上限,单位为字节,0表示使用默认值',
`max_history_count` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '最大变更历史数量',
`gmt_create` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`gmt_modified` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_tenant_id` (`tenant_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='租户容量信息表';
CREATE TABLE `tenant_info` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id',
`kp` varchar(128) NOT NULL COMMENT 'kp',
`tenant_id` varchar(128) default '' COMMENT 'tenant_id',
`tenant_name` varchar(128) default '' COMMENT 'tenant_name',
`tenant_desc` varchar(256) DEFAULT NULL COMMENT 'tenant_desc',
`create_source` varchar(32) DEFAULT NULL COMMENT 'create_source',
`gmt_create` bigint(20) NOT NULL COMMENT '创建时间',
`gmt_modified` bigint(20) NOT NULL COMMENT '修改时间',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_tenant_info_kptenantid` (`kp`,`tenant_id`),
KEY `idx_tenant_id` (`tenant_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='tenant_info';
CREATE TABLE `users` (
`username` varchar(50) NOT NULL PRIMARY KEY,
`password` varchar(500) NOT NULL,
`enabled` boolean NOT NULL
);
CREATE TABLE `roles` (
`username` varchar(50) NOT NULL,
`role` varchar(50) NOT NULL,
UNIQUE INDEX `idx_user_role` (`username` ASC, `role` ASC) USING BTREE
);
CREATE TABLE `permissions` (
`role` varchar(50) NOT NULL,
`resource` varchar(255) NOT NULL,
`action` varchar(8) NOT NULL,
UNIQUE INDEX `uk_role_permission` (`role`,`resource`,`action`) USING BTREE
);
INSERT INTO users (username, password, enabled) VALUES ('nacos', '$2a$10$EuWPZHzz32dJN7jexM34MOeYirDdFAZm2kuWj7VEOJhhZkDrxfvUu', TRUE);
INSERT INTO roles (username, role) VALUES ('nacos', 'ROLE_ADMIN');