Docker安装Nacos(详细教程)
1、拉取镜像
docker pull nacos/nacos-server
2、挂载目录,用于映射到容器,目录按自己的情况创建
mkdir -p /mydata/nacos/logs/ #新建logs目录
mkdir -p /mydata/nacos/init.d/
vim /mydata/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
4、mysql新建nacos的数据库,并执行脚本 sql脚本地址如下:
https://github.com/alibaba/nacos/blob/master/config/src/main/resources/META-INF/nacos-db.sql
5、启动容器
docker run \
--name nacos -d \
-p 8848:8848 \
--privileged=true \
--restart=always \
-e JVM_XMS=256m \
-e JVM_XMX=256m \
-e MODE=standalone \
-e PREFER_HOST_MODE=hostname \
-v /mydata/nacos/logs:/home/nacos/logs \
-v /mydata/nacos/init.d/custom.properties:/home/nacos/init.d/custom.properties \
nacos/nacos-server
7、持久化操作
nacos自带了derby数据库,但是为了做持久化操作,特别是在集群中,最后使用持久化,并且nacos仅支持mysql数据库
docker exec -it 容器id bin/bash
vi conf/application.properties
将下面的配置粘贴到最下面, ip地址和账号密码记得换成自己的
#### db config
spring.datasource.platform=mysql
db.num=1
db.url.0=jdbc:mysql://:192.168.201.153:3306/nacos_config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true
db.user=root
db.password=root
6、访问路径
http://xxxx:8848/nacos/#/login
账号:nacos
密码:nacos