一、前言
Nacos
使用MySql8
存储数据。
这里会描述 Docker
中的 Nacos
服务配置,服务器直接部署配置比较简单。
版本
二、配置
指定当前服务器 Docker ip
查看 docker
网络模式
创建新的 bridge
网络
1
| docker network create --driver bridge --subnet=172.2.2.0/16 --gateway=172.2.1.1 mynet
|
查看网络信息
1
| docker network inspect mynet
|
创建容器并指定IP
1
| docker run -e TZ="Asia/Shanghai" --privileged -itd --name redis-demo --network=mynet --ip 172.2.12.1 redis /usr/sbin/init
|
docker-compose
指定IP
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| version: '2' services: nginx: image: nginx:1.13.12 container_name: nginx restart: always tty: true networks: extnetwork: ipv4_address: 172.2.12.3 networks:
extnetwork: ipam: config: - subnet: 172.2.12.0/16 gateway: 172.2.1.1
|
删除网路模式
docker-compose.yml
方式配置
/plugins/mysql/
目录下放的是 /plugins/mysql/mysql-connector-java-8.0.21.jar
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
| version: '3.9' services: nacos: image: nacos/nacos-server:2.0.3 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 - ./plugins/mysql/:/home/nacos/plugins/mysql/ ports: - "8848:8848" - "9848:9848" - "9555:9555" restart: always networks: mynet: ipv4_address: 172.2.2.2
networks: mynet: external: true
|
Nacos
的MySql
数据库脚本
附
nacos-standlone-mysql.env
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| PREFER_HOST_MODE=hostname MODE=standalone
SERVER_SERVLET_CONTEXTPATH=/nacos
NACOS_APPLICATION_PORT=8848 MYSQL_DATABASE_NUM=1 SPRING_DATASOURCE_PLATFORM=mysql
MYSQL_SERVICE_HOST=192.168.2.1 MYSQL_SERVICE_DB_NAME=nacos_db MYSQL_SERVICE_PORT=3306 MYSQL_SERVICE_USER=nacos MYSQL_SERVICE_PASSWORD=nacos
MYSQL_SERVICE_DB_PARAM=charset=utf8mb4&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&serverTimezone=GMT%2B8&useUnicode=true&useSSL=false
|
custom.properties
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
|
management.endpoints.web.exposure.include=*
|
附:
docker
下的 nacos
属性配置列表
属性名称 |
描述 |
选项 |
MODE |
系统启动方式: 集群/单机 |
cluster/standalone默认 cluster |
NACOS_SERVERS |
集群地址 |
p1:port1空格ip2:port2 空格ip3:port3 |
PREFER_HOST_MODE |
支持IP还是域名模式 |
hostname/ip 默认 ip |
NACOS_SERVER_PORT |
Nacos 运行端口 |
默认 8848 |
NACOS_SERVER_IP |
多网卡模式下可以指定IP |
|
SPRING_DATASOURCE_PLATFORM |
单机模式下支持MYSQL数据库 |
mysql / 空 默认:空 |
MYSQL_SERVICE_HOST |
数据库 连接地址 |
|
MYSQL_SERVICE_PORT |
数据库端口 |
默认 : 3306 |
MYSQL_SERVICE_DB_NAME |
数据库库名 |
|
MYSQL_SERVICE_USER |
数据库用户名 |
|
MYSQL_SERVICE_PASSWORD |
数据库用户密码 |
|
MYSQL_SERVICE_DB_PARAM |
数据库连接参数 |
default : characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useSSL=false |
MYSQL_DATABASE_NUM |
It indicates the number of database |
默认 :1 |
JVM_XMS |
-Xms |
默认 :1g |
JVM_XMX |
-Xmx |
默认 :1g |
JVM_XMN |
-Xmn |
默认 :512m |
JVM_MS |
-XX:MetaspaceSize |
默认 :128m |
JVM_MMS |
-XX:MaxMetaspaceSize |
默认 :320m |
NACOS_DEBUG |
是否开启远程DEBUG |
y/n 默认 :n |
TOMCAT_ACCESSLOG_ENABLED |
server.tomcat.accesslog.enabled |
默认 :false |
NACOS_AUTH_SYSTEM_TYPE |
权限系统类型选择,目前只支持nacos类型 |
默认 :nacos |
NACOS_AUTH_ENABLE |
是否开启权限系统 |
默认 :false |
NACOS_AUTH_TOKEN_EXPIRE_SECONDS |
token 失效时间 |
默认 :18000 |
NACOS_AUTH_TOKEN |
token |
默认 :SecretKey012345678901234567890123456789012345678901234567890123456789 |
NACOS_AUTH_CACHE_ENABLE |
权限缓存开关 ,开启后权限缓存的更新默认有15秒的延迟 |
默认 : false |
MEMBER_LIST |
通过环境变量的方式设置集群地址 |
例子:192.168.16.101:8847?raft_port=8807,192.168.16.101?raft_port=8808,192.168.16.101:8849?raft_port=8809 |
EMBEDDED_STORAGE |
是否开启集群嵌入式存储模式 |
embedded 默认 : none |
NACOS_AUTH_CACHE_ENABLE |
nacos.core.auth.caching.enabled |
default : false |
NACOS_AUTH_USER_AGENT_AUTH_WHITE_ENABLE |
nacos.core.auth.enable.userAgentAuthWhite |
default : false |
NACOS_AUTH_IDENTITY_KEY |
nacos.core.auth.server.identity.key |
default : serverIdentity |
NACOS_AUTH_IDENTITY_VALUE |
nacos.core.auth.server.identity.value |
default : security |
NACOS_SECURITY_IGNORE_URLS |
nacos.security.ignore.urls |
default : /,/error,/**/*.css,/**/*.js,/**/*.html,/**/*.map,/**/*.svg,/**/*.png,/**/*.ico,/console-fe/public/**,/v1/auth/**,/v1/console/health/**,/actuator/**,/v1/console/server/** |
本文地址: https://github.com/maxzhao-it/blog/post/56649/