Docker个人笔记

使用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');
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值