docker 部署汇总
docker 部署汇总
文章目录
前言:
-
docker 容器分配 IP 地址通过三种方式:
桥接网络:桥接网络是 Docker 默认的网络模式。当你启动一个容器时,它会自动连接到一个名为 bridge 的默认网络。这个网络中的容器会被分配一个 IP 地址,但这些地址是动态分配的,你不能手动指定。- 如果采用这种默认的方式,就会导致
每次容器重启,他所属的IP地址可能就会发生变化,容器之间如果存在通信,就会导致通信中断,包括集群也是。
- 如果采用这种默认的方式,就会导致
主机网络:主机网络模式允许容器共享主机的网络堆栈。这个模式通常用于需要高性能网络连接的场景,但它不会给容器分配独立的 IP 地址,而是使用主机的 IP 地址。自定义网络:最常用。自定义网络允许你更灵活地控制容器间的通信和 IP 地址分配。后续我采用的也是这种方式创建容器并分配 IP地址。
-
既然需要手动创建网络并分配IP地址,那么在你的容器创建之前需要规划好分配给容器的IP,防止IP冲突。
-
如下图,是我需要创建的网络和容器IP规划。

-
创建 docker 网络:
docker network create --subnet=192.168.1.0/26 my_network -
我这里自定义的网络地址为 26 位,主机地址为6位,除去网络地址(主机位全是0)、广播地址(主机位都是1),以及docker 会默认占用第一个可用地址为网关(192.168.1.1),所以我这里还剩 192.168.1.2 ~ 192.168.1.62 范围可用,完全够用。如果是企业,主机位可以给8位。如有需要,也可进行子网划分,对网络进行更精确的划分规划。
-
查看所有容器所属 IP:
docker ps -q | xargs -I {} docker inspect -f '{{.Name}} - {{range.NetworkSettings.Networks}}{{.IPAddress}}{{end}}' {} | sed 's/^\///'
一、部署 Kafka
- 在安装kafka之前需要先安装zookeeper,因为kafka 启动会将元数据保存在 zookeeper 中,zookeeper是一种分布式协调服务,可以在分布式系统中共享配置,协调锁资源,提供命名服务
1. 部署 zookeeper
-
拉取镜像
docker pull wurstmeister/zookeeper -
创建容器并启动
docker run \ --net my_network \ --ip 192.168.1.4 \ -e ZOOKEEPER_TICK_TIME=10000 \ --restart=always \ --log-driver json-file \ --log-opt max-size=100m \ --log-opt max-file=2 \ --name zookeeper -p 2181:2181 \ -v /etc/localtime:/etc/localtime \ -d wurstmeister/zookeeper -
如果启动过程中出现:
library initialization failed - unable to allocate file descriptor table - out of memoryAborted (core dumped)- 更改:
vim /usr/lib/systemd/system/docker.service - 追加:
--default-ulimit nofile=65535:65535
- Linux 系统中,每个打开的文件、网络连接、设备等都需要一个文件描述符。应用程序需要足够的文件描述符来处理大量并发连接或文件操作。
- nofile:代表文件描述符限制。
- 65535:65535:两个值分别表示 软限制(soft limit)和 硬限制(hard limit):
- 软限制:应用程序实际受到的限制,可通过 ulimit -n 临时修改。
- 硬限制:软限制的上限,只能由 root 用户修改。
- 更改:
2. 部署 Kafka
-
拉取 Kafka 镜像
docker search wurstmeister/kafka -
创建挂载目录
mkdir -p /home/kafka/{data,config} -
创建并启动 Kafka 容器
-
注意内存不能设置过小,否则起不来。
-
KAFKA_ADVERTISED_LISTENERS=PLAINTEXT:配置指定了 Kafka broker 向客户端和其他 broker 公开的地址。它定义了客户端和其他 broker 应该使用什么地址来连接到这个 broker。
注意:这里一定要配置所在系统的IP地址,而不是我们自己指定的ip地址,不然我们用代码无法连接上Kafka,会报:Kafka. Connection to node -1 could not be established。 -
KAFKA_LISTENERS=PLAINTEXT:指定了 Kafka broker 监听连接的地址和端口。它定义了 broker 实际绑定的网络接口,用于接收来自其他 broker 或客户端的连接。仅影响 broker 实际监听的地址,不影响客户端连接的地址。0.0.0.0:当 Kafka broker 启动时,它会在所有可用的网络接口上(如 eth0、eth1、lo 等)监听 9092 端口的连接请求。这意味着:
docker run --privileged=true \ --net my_network \ --ip 192.168.1.5 \ --log-driver json-file \ --log-opt max-size=100m \ --log-opt max-file=2 \ --name kafka -p 9092:9092 \ -e KAFKA_BROKER_ID=0 \ -e KAFKA_ZOOKEEPER_CONNECT=192.168.1.4:2181/kafka \ -e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://14.103.144.189:9092 \ -e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 \ -e ALLOW_PLAINTEXT_LISTENER=yes \ -e KAFKA_HEAP_OPTS='-Xms256M -Xms512M' \ -v /home/kafka/data:/wurstmeister/kafka/data \ -v /home/kafka/config:/wurstmeister/kafka/config \ -v /opt/kafka/config:/opt/kafka/config \ -v /etc/localtime:/etc/localtime \ -d wurstmeister/kafka
-
二、部署 ELK (8.4.3 版本)
1. 部署 elasticsearch
-
拉取 elasticsearch 镜像:
docker pull elasticsearch:8.4.3 -
第一次执行容器:不用 -d 后台执行,需要记住首次运行生成的
随机密码和随机enrollment token-
es 8.0版本默认是开启 xpack 安全验证的。
xpack.security.enabled: true,访问 es 需要用户名和密码docker run -it \ --net my_network \ --ip 192.168.1.6 \ -p 9200:9200 \ -p 9300:9300 \ --name elasticsearch \ -e ES_JAVA_OPTS="-Xms512m -Xmx512m" \ -e "discovery.type=single-node" \ -e LANG=C.UTF-8 \ -e LC_ALL=C.UTF-8 \ elasticsearch:8.4.3
-
-
结果如下:
-

-
其中的 enrollment-token 需要在 kibana 第一次连接 es 是需要改token 进行验证、验证通过后再用 用户名和密码进行登录。先记住他
- enrollment-token 的有效期只有30分钟,所以你要再 30 分钟内完成第一次验证,后续即便过期了就不需要在进行该 token 验证了。
- 如果 enrollment-token 过期了,还未进行第一次验证,可进入 es容器 重新生成。
- docker exec -it elasticsearch /bin/bash 进入 es 容器。
- ./bin/elasticsearch-create-enrollment-token -s kibana --url “https://127.0.0.1:9200” 重新生成 token。

-
创建 es 需要在系统挂载的目录。需要挂载 es 的 data、config、logs、plugins、方便后续查阅或修改。
-
创建目录并授权:
mkdir /home/es/elk8.4.3/elasticsearch: chown -R 1000:1000 /home/es/elk8.4.3/elasticsearch -
将容器类的数据复制到主机上:
docker cp elasticsearch:/usr/share/elasticsearch/config /home/es/elk8.4.3/elasticsearch/ docker cp elasticsearch:/usr/share/elasticsearch/data /home/es/elk8.4.3/elasticsearch/ docker cp elasticsearch:/usr/share/elasticsearch/plugins /home/es/elk8.4.3/elasticsearch/ docker cp elasticsearch:/usr/share/elasticsearch/logs /home/es/elk8.4.3/elasticsearch/
-
-
删除 es 容器:docker rm -f elasticsearch
-
创建 es 容器,并进行 目录挂载:
docker run -it \ -d \ --net my_network \ --ip 192.168.1.6 \ -p 9200:9200 \ -p 9300:9300 \ --name elasticsearch \ -e ES_JAVA_OPTS="-Xms512m -Xmx512m" \ -e "discovery.type=single-node" \ -e LANG=C.UTF-8 \ -e LC_ALL=C.UTF-8 \ -v /home/es/elk8.4.3/elasticsearch/config:/usr/share/elasticsearch/config \ -v /home/es/elk8.4.3/elasticsearch/data:/usr/share/elasticsearch/data \ -v /home/es/elk8.4.3/elasticsearch/plugins:/usr/share/elasticsearch/plugins \ -v /home/es/elk8.4.3/elasticsearch/logs:/usr/share/elasticsearch/logs \ elasticsearch:8.4.3 -
我们修改 es 的配置文件,添加
xpack.monitoring.collection.enabled: true-
xpack.monitoring.collection.enabled: true:Elasticsearch 或 Kibana 会定期收集自身的运行指标,像 CPU 使用率、内存占用情况、请求响应时间等。这些收集到的数据会被存储在 Elasticsearch 中,用户可以通过 Kibana 的监控界面进行查看。
#----------------------- BEGIN SECURITY AUTO CONFIGURATION ----------------------- # # The following settings, TLS certificates, and keys have been automatically # generated to configure Elasticsearch security features on 05-06-2025 07:28:15 # # -------------------------------------------------------------------------------- # Enable security features xpack.security.enabled: true xpack.security.enrollment.enabled: true xpack.monitoring.collection.enabled : true # Enable encryption for HTTP API client connections, such as Kibana, Logstash, and Agents xpack.security.http.ssl: enabled: true keystore.path: certs/http.p12 # Enable encryption and mutual authentication between cluster nodes xpack.security.transport.ssl: enabled: true verification_mode: certificate keystore.path: certs/transport.p12 truststore.path: certs/transport.p12 #----------------------- END SECURITY AUTO CONFIGURATION -------------------------
-
-
容器 es 容器:docker restart elasticsearch
-
访问 es:输入用户名密码,注意是
https
-
输入后可查看节点信息:

-
如果用户名密码不记得了,和进入es重置密码:
- elasticsearch-reset-password -u elastic: 可对用户 elastic 重置密码。
- elasticsearch-reset-password --username elastic -i:可指定密码。
2. 部署 kibana
-
拉取镜像:
docker pull kibana:8.4.3 -
第一次运行容器:
docker run -it \ -d \ --net my_network \ --ip 192.168.1.7 \ --restart=always \ --log-driver json-file \ --log-opt max-size=100m \ --log-opt max-file=2 \ --name kibana \ -p 5601:5601 \ kibana:8.4.3 -
创建挂载目录并授权:
mkdir /home/es/elk8.4.3/kibana sudo chown -R 1000:1000 /home/es/elk8.4.3/kibana -
将容器内的文件复制到主机上:
docker cp kibana:/usr/share/kibana/config /home/es/elk8.4.3/kibana/ docker cp kibana:/usr/share/kibana/data /home/es/elk8.4.3/kibana/ docker cp kibana:/usr/share/kibana/plugins /home/es/elk8.4.3/kibana/ docker cp kibana:/usr/share/kibana/logs /home/es/elk8.4.3/kibana/ -
查看 kibana.yml 配置信息:
-
注意:
elasticsearch.hosts: [ "http://elasticsearch:9200" ],elasticsearch 为 在 docker 或 k8s中的服务名(容器名),使用127.0.0.1 或者 内网 ip,或 报 timeout 错误。如果若个es,可用逗号隔开。 -
添加
i18n.locale: “zh-CN”,kibana 客户端调整为中文。# # ** THIS IS AN AUTO-GENERATED FILE ** # # Default Kibana configuration for docker target server.host: "0.0.0.0" server.shutdownTimeout: "5s" elasticsearch.hosts: [ "http://elasticsearch:9200" ] monitoring.ui.container.elasticsearch.enabled: true i18n.locale: “zh-CN” -
删除 kibana 容器,进行挂载创建:
docker rm -f kibana docker run -it \ -d \ --net my_network \ --ip 192.168.1.7 \ --restart=always \ --log-driver json-file \ --log-opt max-size=100m \ --log-opt max-file=2 \ --name kibana \ -p 5601:5601 \ -v /home/es/elk8.4.3/kibana/config:/usr/share/kibana/config \ -v /home/es/elk8.4.3/kibana/data:/usr/share/kibana/data \ -v /home/es/elk8.4.3/kibana/plugins:/usr/share/kibana/plugins \ -v /home/es/elk8.4.3/kibana/logs:/usr/share/kibana/logs \ kibana:8.4.3 -
启动后访问 kibana,提示要填写 es 第一次启动时给的 enrollment-token 进行验证:

-
输入token以后会看到一个验证码框,验证码从kibana的日志中获取


-
验证通过后,在输入在 es 中设置的用户名和密码:

-
登录成功后:

-
成功后再次查看 kibana.yml 配置文件,会自动生成配置,无需修改:

3. 部署 Logstash
三、部署Nacos + mysql
-
nacos 我们采用mysql进行存储
-
拉取镜像
docker pull nacos/nacos-server:v2.1.1 -
创建需要挂载的目录
mkdir -p /data/nacos/{conf,logs,data} -
创建容器
docker run -p 8848:8848 --name nacos -d nacos/nacos-server:v2.1.1 -
拷贝 nacos 文件 并 授权
docker cp nacos:/home/nacos/conf /data/nacos docker cp nacos:/home/nacos/data /data/nacos docker cp nacos:/home/nacos/logs /data/nacos chmod 777 /data/nacos/{conf,logs,data} -
删除容器
docker rm -f nacos -
拉取 mysql 镜像 并创建挂载目录
docker pull mysql:8.3.0 # 创建挂载目录 mkdir -p /home/mysql/{conf,data,log} -
创建 配置文件
cd /home/mysql/conf vim my.cnf -
添加如下配置
[client] #设置客户端默认字符集utf8mb4 default-character-set=utf8mb4 [mysql] #设置服务器默认字符集为utf8mb4 default-character-set=utf8mb4 [mysqld] #配置服务器的服务号,具备日后需要集群做准备 server-id = 1 #开启MySQL数据库的二进制日志,用于记录用户对数据库的操作SQL语句,具备日后需要集群做准备 log-bin=mysql-bin #设置清理超过30天的日志,以免日志堆积造过多成服务器内存爆满。2592000秒等于30天的秒数 binlog_expire_logs_seconds = 2592000 #解决MySQL8.0版本GROUP BY问题 sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' #允许最大的连接数 max_connections=1000 # 禁用符号链接以防止各种安全风险 symbolic-links=0 # 设置东八区时区 default-time_zone = '+8:00' -
创建并运行 mysql 容器
docker run \ --net my_network \ --ip 192.168.1.2 \ -p 3306:3306 \ --restart=always \ --name mysql \ --privileged=true \ -v /home/mysql/log:/var/log/mysql \ -v /home/mysql/data:/var/lib/mysql \ -v /home/mysql/conf/my.cnf:/etc/mysql/my.cnf \ -e MYSQL_ROOT_PASSWORD=a12bCd3_W45pUq6 \ -d mysql:8.3.0 -
创建 nacos 数据库
/* Navicat Premium Data Transfer Source Server : 159.75.111.41 Source Server Type : MySQL Source Server Version : 80033 Source Host : 159.75.111.41:3306 Source Schema : nacos Target Server Type : MySQL Target Server Version : 80033 File Encoding : 65001 Date: 30/03/2024 21:32:58 */ SET NAMES utf8mb4; SET FOREIGN_KEY_CHECKS = 0; -- ---------------------------- -- Table structure for config_info -- ---------------------------- DROP TABLE IF EXISTS `config_info`; CREATE TABLE `config_info` ( `id` bigint(0) NOT NULL AUTO_INCREMENT COMMENT 'id', `data_id` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL COMMENT 'data_id', `group_id` varchar(128) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, `content` longtext CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL COMMENT 'content', `md5` varchar(32) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL COMMENT 'md5', `gmt_create` datetime(0) NULL DEFAULT CURRENT_TIMESTAMP(0) COMMENT '创建时间', `gmt_modified` datetime(0) NULL DEFAULT CURRENT_TIMESTAMP(0) COMMENT '修改时间', `src_user` text CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL COMMENT 'source user', `src_ip` varchar(50) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL COMMENT 'source ip', `app_name` varchar(128) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, `tenant_id` varchar(128) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT '' COMMENT '租户字段', `c_desc` varchar(256) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, `c_use` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, `effect` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, `type` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, `c_schema` text CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL, `encrypted_data_key` text CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL COMMENT '秘钥', PRIMARY KEY (`id`) USING BTREE, UNIQUE INDEX `uk_configinfo_datagrouptenant`(`data_id`, `group_id`, `tenant_id`) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb3 COLLATE = utf8mb3_bin COMMENT = 'config_info' ROW_FORMAT = Dynamic; -- ---------------------------- -- Records of config_info -- ---------------------------- -- ---------------------------- -- Table structure for config_info_aggr -- ---------------------------- DROP TABLE IF EXISTS `config_info_aggr`; CREATE TABLE `config_info_aggr` ( `id` bigint(0) NOT NULL AUTO_INCREMENT COMMENT 'id', `data_id` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL COMMENT 'data_id', `group_id` varchar(128) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL COMMENT 'group_id', `datum_id` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL COMMENT 'datum_id', `content` longtext CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL COMMENT '内容', `gmt_modified` datetime(0) NULL DEFAULT NULL COMMENT '修改时间', `app_name` varchar(128) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, `tenant_id` varchar(128) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT '' COMMENT '租户字段', PRIMARY KEY (`id`) USING BTREE, UNIQUE INDEX `uk_configinfoaggr_datagrouptenantdatum`(`data_id`, `group_id`, `tenant_id`, `datum_id`) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb3 COLLATE = utf8mb3_bin COMMENT = '增加租户字段' ROW_FORMAT = Dynamic; -- ---------------------------- -- Records of config_info_aggr -- ---------------------------- -- ---------------------------- -- Table structure for config_info_beta -- ---------------------------- DROP TABLE IF EXISTS `config_info_beta`; CREATE TABLE `config_info_beta` ( `id` bigint(0) NOT NULL AUTO_INCREMENT COMMENT 'id', `data_id` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL COMMENT 'data_id', `group_id` varchar(128) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL COMMENT 'group_id', `app_name` varchar(128) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL COMMENT 'app_name', `content` longtext CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL COMMENT 'content', `beta_ips` varchar(1024) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL COMMENT 'betaIps', `md5` varchar(32) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL COMMENT 'md5', `gmt_create` datetime(0) NULL DEFAULT CURRENT_TIMESTAMP(0) COMMENT '创建时间', `gmt_modified` datetime(0) NULL DEFAULT CURRENT_TIMESTAMP(0) COMMENT '修改时间', `src_user` text CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL COMMENT 'source user', `src_ip` varchar(50) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL COMMENT 'source ip', `tenant_id` varchar(128) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT '' COMMENT '租户字段', `encrypted_data_key` text CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL COMMENT '秘钥', PRIMARY KEY (`id`) USING BTREE, UNIQUE INDEX `uk_configinfobeta_datagrouptenant`(`data_id`, `group_id`, `tenant_id`) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb3 COLLATE = utf8mb3_bin COMMENT = 'config_info_beta' ROW_FORMAT = Dynamic; -- ---------------------------- -- Records of config_info_beta -- ---------------------------- -- ---------------------------- -- Table structure for config_info_tag -- ---------------------------- DROP TABLE IF EXISTS `config_info_tag`; CREATE TABLE `config_info_tag` ( `id` bigint(0) NOT NULL AUTO_INCREMENT COMMENT 'id', `data_id` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL COMMENT 'data_id', `group_id` varchar(128) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL COMMENT 'group_id', `tenant_id` varchar(128) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT '' COMMENT 'tenant_id', `tag_id` varchar(128) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL COMMENT 'tag_id', `app_name` varchar(128) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL COMMENT 'app_name', `content` longtext CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL COMMENT 'content', `md5` varchar(32) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL COMMENT 'md5', `gmt_create` datetime(0) NULL DEFAULT CURRENT_TIMESTAMP(0) COMMENT '创建时间', `gmt_modified` datetime(0) NULL DEFAULT CURRENT_TIMESTAMP(0) COMMENT '修改时间', `src_user` text CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL COMMENT 'source user', `src_ip` varchar(50) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL COMMENT 'source ip', PRIMARY KEY (`id`) USING BTREE, UNIQUE INDEX `uk_configinfotag_datagrouptenanttag`(`data_id`, `group_id`, `tenant_id`, `tag_id`) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb3 COLLATE = utf8mb3_bin COMMENT = 'config_info_tag' ROW_FORMAT = Dynamic; -- ---------------------------- -- Records of config_info_tag -- ---------------------------- -- ---------------------------- -- Table structure for config_tags_relation -- ---------------------------- DROP TABLE IF EXISTS `config_tags_relation`; CREATE TABLE `config_tags_relation` ( `id` bigint(0) NOT NULL COMMENT 'id', `tag_name` varchar(128) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL COMMENT 'tag_name', `tag_type` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL COMMENT 'tag_type', `data_id` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL COMMENT 'data_id', `group_id` varchar(128) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL COMMENT 'group_id', `tenant_id` varchar(128) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT '' COMMENT 'tenant_id', `nid` bigint(0) NOT NULL AUTO_INCREMENT, PRIMARY KEY (`nid`) USING BTREE, UNIQUE INDEX `uk_configtagrelation_configidtag`(`id`, `tag_name`, `tag_type`) USING BTREE, INDEX `idx_tenant_id`(`tenant_id`) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb3 COLLATE = utf8mb3_bin COMMENT = 'config_tag_relation' ROW_FORMAT = Dynamic; -- ---------------------------- -- Records of config_tags_relation -- ---------------------------- -- ---------------------------- -- Table structure for group_capacity -- ---------------------------- DROP TABLE IF EXISTS `group_capacity`; CREATE TABLE `group_capacity` ( `id` bigint(0) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '主键ID', `group_id` varchar(128) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL DEFAULT '' COMMENT 'Group ID,空字符表示整个集群', `quota` int(0) UNSIGNED NOT NULL DEFAULT 0 COMMENT '配额,0表示使用默认值', `usage` int(0) UNSIGNED NOT NULL DEFAULT 0 COMMENT '使用量', `max_size` int(0) UNSIGNED NOT NULL DEFAULT 0 COMMENT '单个配置大小上限,单位为字节,0表示使用默认值', `max_aggr_count` int(0) UNSIGNED NOT NULL DEFAULT 0 COMMENT '聚合子配置最大个数,,0表示使用默认值', `max_aggr_size` int(0) UNSIGNED NOT NULL DEFAULT 0 COMMENT '单个聚合数据的子配置大小上限,单位为字节,0表示使用默认值', `max_history_count` int(0) UNSIGNED NOT NULL DEFAULT 0 COMMENT '最大变更历史数量', `gmt_create` datetime(0) NULL DEFAULT CURRENT_TIMESTAMP(0) COMMENT '创建时间', `gmt_modified` datetime(0) NULL DEFAULT CURRENT_TIMESTAMP(0) COMMENT '修改时间', PRIMARY KEY (`id`) USING BTREE, UNIQUE INDEX `uk_group_id`(`group_id`) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb3 COLLATE = utf8mb3_bin COMMENT = '集群、各Group容量信息表' ROW_FORMAT = Dynamic; -- ---------------------------- -- Records of group_capacity -- ---------------------------- -- ---------------------------- -- Table structure for his_config_info -- ---------------------------- DROP TABLE IF EXISTS `his_config_info`; CREATE TABLE `his_config_info` ( `id` bigint(0) UNSIGNED NOT NULL, `nid` bigint(0) UNSIGNED NOT NULL AUTO_INCREMENT, `data_id` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL, `group_id` varchar(128) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL, `app_name` varchar(128) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL COMMENT 'app_name', `content` longtext CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL, `md5` varchar(32) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, `gmt_create` datetime(0) NULL DEFAULT CURRENT_TIMESTAMP(0), `gmt_modified` datetime(0) NULL DEFAULT CURRENT_TIMESTAMP(0), `src_user` text CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL, `src_ip` varchar(50) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, `op_type` char(10) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, `tenant_id` varchar(128) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT '' COMMENT '租户字段', `encrypted_data_key` text CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL COMMENT '秘钥', PRIMARY KEY (`nid`) USING BTREE, INDEX `idx_gmt_create`(`gmt_create`) USING BTREE, INDEX `idx_gmt_modified`(`gmt_modified`) USING BTREE, INDEX `idx_did`(`data_id`) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb3 COLLATE = utf8mb3_bin COMMENT = '多租户改造' ROW_FORMAT = Dynamic; -- ---------------------------- -- Records of his_config_info -- ---------------------------- INSERT INTO `his_config_info` VALUES (0, 1, '132', 'DEFAULT_GROUP', '', '123', '202cb962ac59075b964b07152d234b70', '2024-03-30 21:32:28', '2024-03-30 21:32:28', NULL, '212.87.195.237', 'I', '', NULL); INSERT INTO `his_config_info` VALUES (1, 2, '132', 'DEFAULT_GROUP', '', '123', '202cb962ac59075b964b07152d234b70', '2024-03-30 21:32:36', '2024-03-30 21:32:36', NULL, '212.87.195.237', 'D', '', NULL); -- ---------------------------- -- Table structure for permissions -- ---------------------------- DROP TABLE IF EXISTS `permissions`; CREATE TABLE `permissions` ( `role` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, `resource` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, `action` varchar(8) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, UNIQUE INDEX `uk_role_permission`(`role`, `resource`, `action`) USING BTREE ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic; -- ---------------------------- -- Records of permissions -- ---------------------------- -- ---------------------------- -- Table structure for roles -- ---------------------------- DROP TABLE IF EXISTS `roles`; CREATE TABLE `roles` ( `username` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, `role` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, UNIQUE INDEX `idx_user_role`(`username`, `role`) USING BTREE ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic; -- ---------------------------- -- Records of roles -- ---------------------------- INSERT INTO `roles` VALUES ('nacos', 'ROLE_ADMIN'); -- ---------------------------- -- Table structure for tenant_capacity -- ---------------------------- DROP TABLE IF EXISTS `tenant_capacity`; CREATE TABLE `tenant_capacity` ( `id` bigint(0) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '主键ID', `tenant_id` varchar(128) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL DEFAULT '' COMMENT 'Tenant ID', `quota` int(0) UNSIGNED NOT NULL DEFAULT 0 COMMENT '配额,0表示使用默认值', `usage` int(0) UNSIGNED NOT NULL DEFAULT 0 COMMENT '使用量', `max_size` int(0) UNSIGNED NOT NULL DEFAULT 0 COMMENT '单个配置大小上限,单位为字节,0表示使用默认值', `max_aggr_count` int(0) UNSIGNED NOT NULL DEFAULT 0 COMMENT '聚合子配置最大个数', `max_aggr_size` int(0) UNSIGNED NOT NULL DEFAULT 0 COMMENT '单个聚合数据的子配置大小上限,单位为字节,0表示使用默认值', `max_history_count` int(0) UNSIGNED NOT NULL DEFAULT 0 COMMENT '最大变更历史数量', `gmt_create` datetime(0) NULL DEFAULT CURRENT_TIMESTAMP(0) COMMENT '创建时间', `gmt_modified` datetime(0) NULL DEFAULT CURRENT_TIMESTAMP(0) COMMENT '修改时间', PRIMARY KEY (`id`) USING BTREE, UNIQUE INDEX `uk_tenant_id`(`tenant_id`) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb3 COLLATE = utf8mb3_bin COMMENT = '租户容量信息表' ROW_FORMAT = Dynamic; -- ---------------------------- -- Records of tenant_capacity -- ---------------------------- -- ---------------------------- -- Table structure for tenant_info -- ---------------------------- DROP TABLE IF EXISTS `tenant_info`; CREATE TABLE `tenant_info` ( `id` bigint(0) NOT NULL AUTO_INCREMENT COMMENT 'id', `kp` varchar(128) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL COMMENT 'kp', `tenant_id` varchar(128) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT '' COMMENT 'tenant_id', `tenant_name` varchar(128) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT '' COMMENT 'tenant_name', `tenant_desc` varchar(256) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL COMMENT 'tenant_desc', `create_source` varchar(32) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL COMMENT 'create_source', `gmt_create` bigint(0) NULL DEFAULT NULL COMMENT '创建时间', `gmt_modified` bigint(0) NULL DEFAULT NULL COMMENT '修改时间', PRIMARY KEY (`id`) USING BTREE, UNIQUE INDEX `uk_tenant_info_kptenantid`(`kp`, `tenant_id`) USING BTREE, INDEX `idx_tenant_id`(`tenant_id`) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb3 COLLATE = utf8mb3_bin COMMENT = 'tenant_info' ROW_FORMAT = Dynamic; -- ---------------------------- -- Records of tenant_info -- ---------------------------- -- ---------------------------- -- Table structure for users -- ---------------------------- DROP TABLE IF EXISTS `users`; CREATE TABLE `users` ( `username` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, `password` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, `enabled` tinyint(1) NOT NULL, PRIMARY KEY (`username`) USING BTREE ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic; -- ---------------------------- -- Records of users -- ---------------------------- INSERT INTO `users` VALUES ('nacos', '$2a$10$EuWPZHzz32dJN7jexM34MOeYirDdFAZm2kuWj7VEOJhhZkDrxfvUu', 1); SET FOREIGN_KEY_CHECKS = 1; -
创建并运行nacos容器
docker run -d \ --net my_network \ --ip 192.168.1.3 \ -e MODE=standalone \ --privileged=true \ -e SPRING_DATASOURCE_PLATFORM=mysql \ -e MYSQL_SERVICE_HOST=192.168.1.2 \ -e MYSQL_SERVICE_PORT=3306 \ -e MYSQL_SERVICE_USER=root \ -e MYSQL_SERVICE_PASSWORD=a12bCd3_W45pUq6 \ -e MYSQL_SERVICE_DB_NAME=nacos \ -e TIME_ZONE='Asia/Shanghai' \ -e NACOS_AUTH_ENABLE=true \ -v /data/nacos/logs:/home/nacos/logs \ -v /data/nacos/data:/home/nacos/data \ -v /data/nacos/conf:/home/nacos/conf \ -p 8848:8848 -p 9848:9848 -p 9849:9849 \ --name nacos --restart=always nacos/nacos-server:v2.1.1 -
最后访问 Nacos 控制台:

四、部署 Minio
- 下载镜像:
docker pull minio/minio:RELEASE.2025-04-22T22-12-26Z
– 运行镜像,并指定网络:
docker run -it \
-d \
--net my_network \
--ip 192.168.1.12 \
--restart=always \
-v /data/minio/data:/data \
--name minio \
-p 9000:9000 \
-p 9001:9001 \
-e "MINIO_ROOT_USER=root" \
-e "MINIO_ROOT_PASSWORD=root131413" \
minio/minio:RELEASE.2025-04-22T22-12-26Z server /data --console-address ":9001"
更多推荐
所有评论(0)