1.在/usr/local目錄下創建nacos目錄用於存儲nacos數據信息
mkdir /usr/local/nacos
cd /usr/local/nacos
2.新建logs目錄
mkdir /usr/local/nacos/logs
mkdir /usr/local/nacos/init.d
vim /usr/local/nacos/init.d/custom.properties #修改配置文件
#----------------------------------------------------------------------
server.contextPath=/nacos
server.servlet.contextPath=/nacos
server.port=8848
spring.datasource.platform=mysql
db.num=1
db.url.0=jdbc:mysql://127.0.0.1:3306/nacos_config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true
db.user=root
db.password=123456
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
#--------------------------------------------------------------------------------
3.mysql新建nacos的數據庫,並執行腳本
https://github.com/alibaba/nacos/blob/master/config/src/main/resources/META-INF/nacos-db.sql
4.docker run --name nacos -p 8848:8848 -itd --restart=always --privileged=true -e JVM_XMS=256m -e JVM_XMX=256m -e MODE=standalone -e PREFER_HOST_MODE=hostname -v /usr/local/nacos/logs:/home/nacos/logs -v /usr/local/nacos/init.d/custom.properties:/home/nacos/init.d/custom.properties nacos/nacos-server
5.如果對外暴露端口訪問可能telnet不通,雖然端口進程在但是不通,原因就是配置文件中沒有配置端口,雖然映射了端口,但是內部端口沒有配置對應,因此不通。解決方法是進入容器內部 conf/application.properties 修改配置文件即可,server.port=端口,然后重啟容器即可。(更好的方法是對容器內部就是默認端口,對外宿主機使用自定義端口,這樣就不需要進到容器內部修改端口就可以telnet通)