1、拉取镜像
docker pull nacos/nacos-server
2、挂载目录
# 新建logs目录
mkdir -p /usr/local/nacos/logs/
# 新建配置目录
mkdir -p /usr/local/nacos/init.d/
# 添加配置文件
vim /usr/local/nacos/init.d/custom.properties
3、修改配置文件custom.properties
server.contextPath=/nacos
server.servlet.contextPath=/nacos
server.port=8848
spring.datasource.platform=mysql
db.num=1
db.url.0=jdbc:mysql://xx.xx.xx.x:3306/nacos_devtest_prod?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true
db.user=user
db.password=pass
nacos.cmdb.dumpTaskInterval=3600
nacos.cmdb.eventTaskInterval=10
nacos.cmdb.labelTaskInterval=300
nacos.cmdb.loadDataAtStart=false
management.metrics.export.elastic.enabled=false
management.metrics.export.influx.enabled=false
server.tomcat.accesslog.enabled=true
server.tomcat.accesslog.pattern=%h %l %u %t "%r" %s %b %D %{User-Agent}i
nacos.security.ignore.urls=/,/**/*.css,/**/*.js,/**/*.html,/**/*.map,/**/*.svg,/**/*.png,/**/*.ico,/console-fe/public/**,/v1/auth/login,/v1/console/health/**,/v1/cs/**,/v1/ns/**,/v1/cmdb/**,/actuator/**,/v1/console/server/**
nacos.naming.distro.taskDispatchThreadCount=1
nacos.naming.distro.taskDispatchPeriod=200
nacos.naming.distro.batchSyncKeyCount=1000
nacos.naming.distro.initDataRatio=0.9
nacos.naming.distro.syncRetryDelay=5000
nacos.naming.data.warmup=true
nacos.naming.expireInstance=true
# 开启账号密码认证,在java端连接nacos时则需要配置连接账号/密码。
nacos.core.auth.enabled=true
配置信息:
参数名 | 描述 |
MODE | cluster模式/standalone模式 |
NACOS_SERVERS | nacos cluster地址 |
PREFER_HOST_MODE | 是否支持hostname |
NACOS_SERVER_PORT | nacos服务器端口 |
NACOS_SERVER_IP | 多网卡下的自定义nacos服务器IP |
SPRING_DATASOURCE_PLATFORM | standalone 支持 mysql |
MYSQL_MASTER_SERVICE_HOST | mysql 主节点host |
MYSQL_MASTER_SERVICE_PORT | mysql 主节点端口 |
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从节点端口 |
MYSQL_DATABASE_NUM | 数据库数量 |
JVM_XMS | -Xms |
JVM_XMX | -Xmx |
JVM_XMN | –Xmn |
JVM_MS | –XX:MetaspaceSize |
JVM_MMS | –XX:MaxMetaspaceSize |
NACOS_DEBUG | -开启远程调试 |
TOMCAT_ACCESSLOG_ENABLED | server.tomcat.accesslog.enabled |
NACOS_AUTH_ENABLE=true | 开启权限校验,就是要指定nacos账号密码 |
4、mysql新建nacos的数据库,并执行脚本
下载地址:https://github.com/alibaba/nacos/blob/master/config/src/main/resources/META-INF/nacos-db.sql
5、启动容器
挂载配置文件:
docker run -d \
--restart=always \
--privileged=true \
--name nacos \
-e JVM_XMS=256m \
-e JVM_XMX=256m \
-e MODE=standalone \
-e PREFER_HOST_MODE=hostname \
-p 8848:8848 -p 9848:9848 -p 9849:9849 \
-v /usr/local/nacos/logs:/home/nacos/logs \
-v /usr/local/nacos/init.d:/home/nacos/init.d \
nacos/nacos-server
另一种写法可以不用配置文件:
docker run -d -p 8848:8848 -p 9848:9848 -p 9849:9849 \
-e MODE=standalone \
-e PREFER_HOST_MODE=本机IP \
-e SPRING_DATASOURCE_PLATFORM=mysql \
-e MYSQL_SERVICE_HOST=127.0.0.1 \
-e MYSQL_SERVICE_PORT=3306 \
-e MYSQL_SERVICE_USER=root \
-e MYSQL_SERVICE_PASSWORD=password \
-e MYSQL_SERVICE_DB_NAME=nacos \
--name nacos \
--restart=always nacos/nacos-server
6、浏览器输入服务器地址:http://xxx.xxx.xx.xx:8848/nacos/index.html,账号nacos 密码nacos,登陆成功!