获取镜像

docker pull nacos/nacos-server:1.4.2

运行镜像

docker run -d \ -e MODE=standalone \ -e JVM_XMS=256m \ -e JVM_XMX=256m \ -e JVM_XMN=128m \ -e JVM_MMS=128m \ -e JVM_MS=128m \ -p 8848:8848 \ --name nacos \ --restart=always \ nacos/nacos-server:1.4.2

基本参数table

name description option
MODE cluster/standalone cluster/standalone default cluster
NACOS_SERVERS nacos cluster address eg. ip1:port1 ip2:port2 ip3:port3
PREFER_HOST_MODE Whether hostname are supported hostname/ip default ip
NACOS_APPLICATION_PORT nacos server port default 8848
NACOS_SERVER_IP custom nacos server ip when network was mutil-network
SPRING_DATASOURCE_PLATFORM standalone support mysql mysql / empty default empty
MYSQL_SERVICE_HOST mysql host
MYSQL_SERVICE_PORT mysql database port default : 3306
MYSQL_SERVICE_DB_NAME mysql database name
MYSQL_SERVICE_USER username of database
MYSQL_SERVICE_PASSWORD password of database
MYSQL_DATABASE_NUM It indicates the number of database default :1
MYSQL_SERVICE_DB_PARAM Database url parameter default : characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useSSL=false
JVM_XMS -Xms default :1g
JVM_XMX -Xmx default :1g
JVM_XMN -Xmn default :512m
JVM_MS -XX:MetaspaceSize default :128m
JVM_MMS -XX:MaxMetaspaceSize default :320m
NACOS_DEBUG enable remote debug y/n default :n
TOMCAT_ACCESSLOG_ENABLED server.tomcat.accesslog.enabled default :false
NACOS_AUTH_SYSTEM_TYPE The auth system to use, currently only ‘nacos’ is supported default :nacos
NACOS_AUTH_ENABLE If turn on auth system default :false
NACOS_AUTH_TOKEN_EXPIRE_SECONDS The token expiration in seconds default :18000
NACOS_AUTH_TOKEN The default token default :SecretKey012345678901234567890123456789012345678901234567890123456789
NACOS_AUTH_CACHE_ENABLE Turn on/off caching of auth information. By turning on this switch, the update of auth information would have a 15 seconds delay. default : false
MEMBER_LIST Set the cluster list with a configuration file or command-line argument eg: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 Use embedded storage in cluster mode without mysql embedded default : 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/

配置文件

  1. # spring
  2. server.servlet.contextPath=${SERVER_SERVLET_CONTEXTPATH:/nacos}
  3. server.contextPath=/nacos
  4. server.port=${NACOS_APPLICATION_PORT:8848}
  5. spring.datasource.platform=mysql
  6. nacos.cmdb.dumpTaskInterval=3600
  7. nacos.cmdb.eventTaskInterval=10
  8. nacos.cmdb.labelTaskInterval=300
  9. nacos.cmdb.loadDataAtStart=false
  10. db.num=${MYSQL_DATABASE_NUM:1}
  11. db.url.0=jdbc:mysql://rm-bp15k5gre3dgfy3f3123173dtxotre.mysql.rds.aliyuncs.com:${MYSQL_SERVICE_PORT:3306}/ry-config?${MYSQL_SERVICE_DB_PARAM:characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true}
  12. db.url.1=jdbc:mysql://rm-bp15grek53dgfy3f73dtxo.myerwsql.rds.aliyuncgres.com:${MYSQL_SERVICE_PORT:3306}/ry-config?${MYSQL_SERVICE_DB_PARAM:characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true}
  13. db.user=****
  14. db.password=****
  15. ### The auth system to use, currently only 'nacos' is supported:
  16. nacos.core.auth.system.type=${NACOS_AUTH_SYSTEM_TYPE:nacos}
  17. ### The token expiration in seconds:
  18. nacos.core.auth.default.token.expire.seconds=${NACOS_AUTH_TOKEN_EXPIRE_SECONDS:18000}
  19. ### The default token:
  20. nacos.core.auth.default.token.secret.key=${NACOS_AUTH_TOKEN:SecretKey012345678901234567890123456789012345678901234567890123456789}
  21. ### Turn on/off caching of auth information. By turning on this switch, the update of auth information would have a 15 seconds delay.
  22. nacos.core.auth.caching.enabled=${NACOS_AUTH_CACHE_ENABLE:false}
  23. nacos.core.auth.enable.userAgentAuthWhite=${NACOS_AUTH_USER_AGENT_AUTH_WHITE_ENABLE:false}
  24. nacos.core.auth.server.identity.key=${NACOS_AUTH_IDENTITY_KEY:serverIdentity}
  25. nacos.core.auth.server.identity.value=${NACOS_AUTH_IDENTITY_VALUE:security}
  26. server.tomcat.accesslog.enabled=${TOMCAT_ACCESSLOG_ENABLED:false}
  27. server.tomcat.accesslog.pattern=%h %l %u %t "%r" %s %b %D
  28. # default current work dir
  29. server.tomcat.basedir=
  30. ## spring security config
  31. ### turn off security
  32. nacos.security.ignore.urls=${NACOS_SECURITY_IGNORE_URLS:/,/error,/**/*.css,/**/*.js,/**/*.html,/**/*.map,/**/*.svg,/**/*.png,/**/*.ico,/console-fe/public/**,/v1/auth/**,/v1/console/health/**,/actuator/**,/v1/console/server/**}
  33. # metrics for elastic search
  34. management.metrics.export.elastic.enabled=false
  35. management.metrics.export.influx.enabled=false
  36. nacos.naming.distro.taskDispatchThreadCount=10
  37. nacos.naming.distro.taskDispatchPeriod=200
  38. nacos.naming.distro.batchSyncKeyCount=1000
  39. nacos.naming.distro.initDataRatio=0.9
  40. nacos.naming.distro.syncRetryDelay=5000
  41. nacos.naming.data.warmup=true