Docker容器部署Nacos服务
Docker容器是一种轻量级的虚拟化技术,可以将应用程序和其依赖项打包成一个可移植的容器,从而方便进行部署和管理。Nacos是一个开源的服务发现、配置管理和服务管理平台,可以帮助开发人员更好地管理微服务架构中的服务。本文将为您介绍如何使用Docker容器部署和搭建Nacos服务。
安装Docker
在开始之前,需要先安装Docker。Docker支持多种操作系统,包括Windows、Mac和Linux。可以在Docker官网上下载适合自己操作系统的Docker安装包,并按照安装指南进行安装。
下载Nacos镜像
您可以在Docker Hub上找到Nacos的官方镜像。使用以下命令即可从Docker Hub上下载Nacos镜像:
shell
复制代码
git clone https://github.com/nacos-group/nacos-docker.git
通过上面的指令,我们可以通过git下载仓库下面的官方的安装脚本。
shell
复制代码
cd nacos-docker cp example/cluster-hostname.yaml example/my-cluster-hostname.yaml
docker-compose up部署
以下是针对总体脚本不同部署方式的说明:
- 单机部署Derby方式:脚本会在一台机器上安装和配置所有组件,适合小型应用或测试环境。
- 单机部署MySQL方式:脚本会在一台机器上安装和配置所有组件,适合小型应用或测试环境。
- 分布式MySQL部署方式:脚本会在多台机器上分别安装和配置不同的组件,通过负载均衡将请求分发到不同的机器上。适合高可用和高性能应用。
Derby 单机版部署
你可以使用以下命令在单一主机上部署Derby数据库:
bash
复制代码
docker-compose -f example/standalone-derby.yaml up -d
MySQL 单机版部署
你可以使用以下命令在单一主机上部署MySQL 5.7:
bash
复制代码
docker-compose -f example/standalone-mysql-5.7.yaml up -d
修改standalone-mysql.yaml
注释掉mysql,prometheus,grafana(健康相关的暂时用不上)
yaml
复制代码
version: "2" services: nacos: image: nacos/nacos-server:latest container_name: nacos-standalone-mysql env_file: - ../env/nacos-standlone-mysql.env volumes: - ./standalone-logs/:/home/nacos/logs - ./init.d/custom.properties:/home/nacos/init.d/custom.properties ports: - "8848:8848" - "9555:9555" # depends_on: # - mysql restart: on-failure # mysql: # container_name: mysql # image: mysql:5.7.29 # env_file: # - ../env/mysql.env # volumes: # - ./mysql:/var/lib/mysql # ports: # - "3306:3306" # prometheus: # container_name: prometheus # image: prom/prometheus:latest # volumes: # - ./prometheus/prometheus-standalone.yaml:/etc/prometheus/prometheus.yml # ports: # - "9090:9090" # depends_on: # - nacos # restart: on-failure # grafana: # container_name: grafana # image: grafana/grafana:latest # ports: # - 3000:3000 # restart: on-failure
MySQL 集群模式部署
你可以使用以下命令在集群中部署MySQL实例:
bash
复制代码
docker-compose -f example/sing-cluster-hostname.yaml up -d
初始化nacos数据库
Nacos服务的MySQL版本
数据库脚本
- 初始化数据库nacos-mysql:github.com/alibaba/nac…
- Github官方脚本:github.com/alibaba/nac…
脚本内容
sql
复制代码
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(20) NOT NULL AUTO_INCREMENT COMMENT 'id', `data_id` varchar(255) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL COMMENT 'data_id', `group_id` varchar(255) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT NULL, `content` longtext CHARACTER SET utf8 COLLATE utf8_bin NOT NULL COMMENT 'content', `md5` varchar(32) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT NULL COMMENT 'md5', `gmt_create` datetime NOT NULL DEFAULT '2010-05-05 00:00:00' COMMENT '创建时间', `gmt_modified` datetime NOT NULL DEFAULT '2010-05-05 00:00:00' COMMENT '修改时间', `src_user` text CHARACTER SET utf8 COLLATE utf8_bin NULL COMMENT 'source user', `src_ip` varchar(20) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT NULL COMMENT 'source ip', `app_name` varchar(128) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT NULL, `tenant_id` varchar(128) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT '' COMMENT '租户字段', `c_desc` varchar(256) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT NULL, `c_use` varchar(64) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT NULL, `effect` varchar(64) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT NULL, `type` varchar(64) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT NULL, `c_schema` text CHARACTER SET utf8 COLLATE utf8_bin NULL, PRIMARY KEY (`id`) USING BTREE, UNIQUE INDEX `uk_configinfo_datagrouptenant`(`data_id`, `group_id`, `tenant_id`) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 35 CHARACTER SET = utf8 COLLATE = utf8_bin COMMENT = 'config_info' ROW_FORMAT = Dynamic; -- ---------------------------- -- Table structure for config_info_aggr -- ---------------------------- DROP TABLE IF EXISTS `config_info_aggr`; CREATE TABLE `config_info_aggr` ( `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id', `data_id` varchar(255) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL COMMENT 'data_id', `group_id` varchar(255) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL COMMENT 'group_id', `datum_id` varchar(255) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL COMMENT 'datum_id', `content` longtext CHARACTER SET utf8 COLLATE utf8_bin NOT NULL COMMENT '内容', `gmt_modified` datetime NOT NULL COMMENT '修改时间', `app_name` varchar(128) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT NULL, `tenant_id` varchar(128) CHARACTER SET utf8 COLLATE utf8_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 = utf8 COLLATE = utf8_bin COMMENT = '增加租户字段' ROW_FORMAT = Dynamic; -- ---------------------------- -- Table structure for config_info_beta -- ---------------------------- DROP TABLE IF EXISTS `config_info_beta`; CREATE TABLE `config_info_beta` ( `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id', `data_id` varchar(255) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL COMMENT 'data_id', `group_id` varchar(128) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL COMMENT 'group_id', `app_name` varchar(128) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT NULL COMMENT 'app_name', `content` longtext CHARACTER SET utf8 COLLATE utf8_bin NOT NULL COMMENT 'content', `beta_ips` varchar(1024) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT NULL COMMENT 'betaIps', `md5` varchar(32) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT NULL COMMENT 'md5', `gmt_create` datetime NOT NULL DEFAULT '2010-05-05 00:00:00' COMMENT '创建时间', `gmt_modified` datetime NOT NULL DEFAULT '2010-05-05 00:00:00' COMMENT '修改时间', `src_user` text CHARACTER SET utf8 COLLATE utf8_bin NULL COMMENT 'source user', `src_ip` varchar(20) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT NULL COMMENT 'source ip', `tenant_id` varchar(128) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT '' 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 = utf8 COLLATE = utf8_bin COMMENT = 'config_info_beta' ROW_FORMAT = Dynamic; -- ---------------------------- -- Table structure for config_info_tag -- ---------------------------- DROP TABLE IF EXISTS `config_info_tag`; CREATE TABLE `config_info_tag` ( `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id', `data_id` varchar(255) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL COMMENT 'data_id', `group_id` varchar(128) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL COMMENT 'group_id', `tenant_id` varchar(128) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT '' COMMENT 'tenant_id', `tag_id` varchar(128) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL COMMENT 'tag_id', `app_name` varchar(128) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT NULL COMMENT 'app_name', `content` longtext CHARACTER SET utf8 COLLATE utf8_bin NOT NULL COMMENT 'content', `md5` varchar(32) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT NULL COMMENT 'md5', `gmt_create` datetime NOT NULL DEFAULT '2010-05-05 00:00:00' COMMENT '创建时间', `gmt_modified` datetime NOT NULL DEFAULT '2010-05-05 00:00:00' COMMENT '修改时间', `src_user` text CHARACTER SET utf8 COLLATE utf8_bin NULL COMMENT 'source user', `src_ip` varchar(20) CHARACTER SET utf8 COLLATE utf8_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 = utf8 COLLATE = utf8_bin COMMENT = 'config_info_tag' ROW_FORMAT = Dynamic; -- ---------------------------- -- Table structure for config_tags_relation -- ---------------------------- DROP TABLE IF EXISTS `config_tags_relation`; CREATE TABLE `config_tags_relation` ( `id` bigint(20) NOT NULL COMMENT 'id', `tag_name` varchar(128) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL COMMENT 'tag_name', `tag_type` varchar(64) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT NULL COMMENT 'tag_type', `data_id` varchar(255) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL COMMENT 'data_id', `group_id` varchar(128) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL COMMENT 'group_id', `tenant_id` varchar(128) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT '' COMMENT 'tenant_id', `nid` bigint(20) 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 = utf8 COLLATE = utf8_bin COMMENT = 'config_tag_relation' ROW_FORMAT = Dynamic; -- ---------------------------- -- Table structure for group_capacity -- ---------------------------- DROP TABLE IF EXISTS `group_capacity`; CREATE TABLE `group_capacity` ( `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '主键ID', `group_id` varchar(128) CHARACTER SET utf8 COLLATE utf8_bin 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 '2010-05-05 00:00:00' COMMENT '创建时间', `gmt_modified` datetime NOT NULL DEFAULT '2010-05-05 00:00:00' COMMENT '修改时间', PRIMARY KEY (`id`) USING BTREE, UNIQUE INDEX `uk_group_id`(`group_id`) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_bin COMMENT = '集群、各Group容量信息表' ROW_FORMAT = Dynamic; -- ---------------------------- -- Table structure for his_config_info -- ---------------------------- DROP TABLE IF EXISTS `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) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL, `group_id` varchar(128) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL, `app_name` varchar(128) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT NULL COMMENT 'app_name', `content` longtext CHARACTER SET utf8 COLLATE utf8_bin NOT NULL, `md5` varchar(32) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT NULL, `gmt_create` datetime NOT NULL DEFAULT '2010-05-05 00:00:00', `gmt_modified` datetime NOT NULL DEFAULT '2010-05-05 00:00:00', `src_user` text CHARACTER SET utf8 COLLATE utf8_bin NULL, `src_ip` varchar(20) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT NULL, `op_type` char(10) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT NULL, `tenant_id` varchar(128) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT '' 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 = 126 CHARACTER SET = utf8 COLLATE = utf8_bin COMMENT = '多租户改造' ROW_FORMAT = Dynamic; -- ---------------------------- -- 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(512) 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; -- ---------------------------- -- 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 `uk_username_role`(`username`, `role`) USING BTREE ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic; -- ---------------------------- -- Table structure for tenant_capacity -- ---------------------------- DROP TABLE IF EXISTS `tenant_capacity`; CREATE TABLE `tenant_capacity` ( `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '主键ID', `tenant_id` varchar(128) CHARACTER SET utf8 COLLATE utf8_bin 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 '2010-05-05 00:00:00' COMMENT '创建时间', `gmt_modified` datetime NOT NULL DEFAULT '2010-05-05 00:00:00' COMMENT '修改时间', PRIMARY KEY (`id`) USING BTREE, UNIQUE INDEX `uk_tenant_id`(`tenant_id`) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_bin COMMENT = '租户容量信息表' ROW_FORMAT = Dynamic; -- ---------------------------- -- Table structure for tenant_info -- ---------------------------- DROP TABLE IF EXISTS `tenant_info`; CREATE TABLE `tenant_info` ( `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id', `kp` varchar(128) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL COMMENT 'kp', `tenant_id` varchar(128) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT '' COMMENT 'tenant_id', `tenant_name` varchar(128) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT '' COMMENT 'tenant_name', `tenant_desc` varchar(256) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT NULL COMMENT 'tenant_desc', `create_source` varchar(32) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT NULL COMMENT 'create_source', `gmt_create` bigint(20) NOT NULL COMMENT '创建时间', `gmt_modified` bigint(20) NOT 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 = utf8 COLLATE = utf8_bin COMMENT = 'tenant_info' ROW_FORMAT = Dynamic; -- ---------------------------- -- 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; SET FOREIGN_KEY_CHECKS = 1;
手动创建Nacos容器
下载完Nacos镜像后,可以使用以下命令创建Nacos容器:
Linux
用于在本地主机中运行"Nacos"容器实例,版本为v3。指定了一些环境变量,如MYSQL的用户、密码、数据库名、端口号等,用于配置容器的运行环境,并将本地的端口映射到容器内部的相应端口,使得可以通过本机访问容器内Nacos的相关端口服务。此外,通过 -d 参数,将容器以后台运行模式启动,并且通过 -t 参数指定了一个伪终端,使得启动后可以通过docker exec 进入容器内部操作。
ini
复制代码
docker run -itd \ --name nacos \ -e PREFER_HOST_MODE=hostname \ -e MODE=standalone \ -e MYSQL_SERVICE_HOST=172.17.0.4 \ -e SPRING_DATASOURCE_PLATFORM=mysql \ -e MYSQL_SERVICE_PORT=3306 \ -e MYSQL_SERVICE_USER=root \ -e MYSQL_SERVICE_PASSWORD=root \ -e MYSQL_SERVICE_DB_NAME=nacos \ -p 8848:8848 \ -p 9848:9848 \ -p 9849:9849 \ liboware/nacos:v3
Docker参数介绍
绍Docker的常用命令参数。其中,-d参数表示在后台运行容器,--name参数用于指定容器的名称,-p参数可以将容器内的端口映射到主机上,这里将容器的8848端口映射到主机的8848端口,而-e参数用于设置容器中的环境变量。
MySQL参数介绍
Name | Description | Option |
MODE | cluster模式/standalone模式 | cluster/standalone default: cluster |
NACOS_SERVERS | nacos cluster地址 | eg. ip1,ip2,ip3 |
PREFER_HOST_MODE | 是否支持hostname | hostname/ip default: ip |
NACOS_SERVER_PORT | nacos服务器端口 | default: 8848 |
NACOS_SERVER_IP | 多网卡下的自定义nacos服务器IP | |
SPRING_DATASOURCE_PLATFORM | standalone 支持mysql | mysql/empty default: empty |
MYSQL_MASTER_SERVICE_HOST | mysql 主节点host | |
MYSQL_MASTER_SERVICE_PORT | mysql 主节点端口 | default: 3306 |
MYSQL_MASTER_SERVICE_DB_NAME | mysql 主节点数据库 | |
MYSQL_MASTER_SERVICE_USER | 数据库用户名 | |
MYSQL_MASTER_SERVICE_PASSWORD | 数据库密码 | |
MYSQL_SLAVE_SERVICE_HOST | mysql从节点host | |
MYSQL_SLAVE_SERVICE_PORT | mysql从节点端口 | default: 3306 |
MYSQL_DATABASE_NUM | 数据库数量 | default: 2 |
JVM_XMS | -Xms | default: 2g |
JVM_XMX | -Xmx | default: 2g |
JVM_XMN | -Xmn | default: 1g |
JVM_MS | -XX:MetaspaceSize | default: 128m |
JVM_MMS | -XX:MaxMetaspaceSize | default: 320m |
NACOS_DEBUG | 开启远程调试 | y/n default: n |
TOMCAT_ACCESSLOG_ENABLED | server.tomcat.accesslog.enabled | default: false |
mysql配置环境变量的环境变量文件
如果上面的mysql配置过高,每次执行脚本都特别多,那么可以采用--env-file进行导入环境变量。
docker --env-file
docker --env-file
命令用于指定一个文件,其中包含了需要设置的环境变量。使用这个命令,可以将环境变量从文件中导入到Docker容器中。例如,如果env.list
文件包含需要设置的环境变量,可以通过以下命令将文件中的环境变量导入到Docker容器中:
mysql的环境脚本文件:nacos-docker\env\nacos-standlone-mysql.env,我们可以根据不同的环境和场景进行调整即可。
properties
复制代码
PREFER_HOST_MODE=hostname MODE=standalone SPRING_DATASOURCE_PLATFORM=mysql MYSQL_SERVICE_HOST=192.168.31.219 MYSQL_SERVICE_DB_NAME=barm_nacos MYSQL_SERVICE_PORT=3306 MYSQL_SERVICE_USER=root MYSQL_SERVICE_PASSWORD=123456 ... ...
执行环境变量文件的脚本
diff
复制代码
docker run -itd \ --name nacos \ --env-file nacos-docker\env\nacos-standlone-mysql.env -p 8848:8848 \ -p 9848:9848 \ -p 9849:9849 \ liboware/nacos:v3
在这个例子中,nacos-standlone-mysql.env
文件包含了一些需要设置的环境变量,而liboware/nacos:v3
则代表了要运行的Docker镜像。使用--env-file
参数,可以将env.list
文件中的环境变量全部设置到liboware/nacos:v3
容器中。
访问Nacos服务
一旦成功创建了 Nacos 容器,就可以使用浏览器访问 Nacos 服务。只需在浏览器中输入 http://localhost:8848/nacos
,即可进入 Nacos 服务的管理界面。
配置Nacos服务
在 Nacos 服务管理界面中,可以进行服务注册、配置管理等各种操作,可以根据自己的需求进行配置。
启动Nacos服务
启动 Nacos 容器非常简单,只需执行以下命令:
sql
复制代码
docker start nacos
每次需要使用 Nacos 时,执行该命令即可。
停止和删除容器
如果需要停止或删除容器,可以使用以下命令:
停止容器
arduino
复制代码
docker stop nacos
删除容器
bash
复制代码
docker rm nacos
这些指令可以帮助您轻松地管理 Nacos
总结
本文介绍了如何使用 Docker 容器来部署和搭建 Nacos 服务,通过使用 Docker 容器,您可以轻松地部署和管理 Nacos 服务,在不同的环境中迁移、扩展和备份 Nacos 服务也更加方便。同时,使用 Docker 容器也有助于提高应用程序的可移植性和可扩展性,让您的应用程序可以更加灵活地适应不同的场景和需求。