Nacos目录挂载并实现持久化

目录挂在

docker pull ndocker pull nacos/nacos-server:v2.0.4 acos/nacos-server:v2.0.4

docker run -d --name nacos -e JVM_XMS=256m -e JVM_XMX=512m -e MODE=standalone --restart=always -p 8848:8848 nacos/nacos-server:1.4.2

docker run -d --name nacos -e JVM_XMS=256m -e JVM_XMX=512m -e MODE=standalone -p 8848:8848 nacos/nacos-server:1.4.1

docker exec -it nacos /bin/bash

docker cp nacos:/home/nacos /docker/nacos

docker cp nacos:/home/nacos/logs /docker/nacos-2.0.4/logs

docker cp nacos:/home/nacos/conf /docker/nacos-2.0.4/conf

docker cp nacos:/home/nacos/data /docker/nacos-2.0.4/data

docker cp nacos:/home/nacos/logs /docker/nacos/nacos-1.4.1/logs

docker cp nacos:/home/nacos/conf /docker/nacos/nacos-1.4.1/conf

docker cp nacos:/home/nacos/data /docker/nacos/nacos-1.4.1/data

docker rm -f nacos

docker rm -f nacos:v2.0.4

docker run -d --name nacos -e JVM_XMS=256m -e JVM_XMX=512m -e MODE=standalone --restart=always -p 8848:8848 -v /docker/nacos:/home/nacos nacos/nacos-server:1.4.2

docker run -d --name nacos-2.0.4 -e JVM_XMS=256m -e JVM_XMX=512m -e MODE=standalone -p 8849:8849 -v /docker/nacos/nacos-2.0.4/logs:/home/nacos/logs -v /docker/nacos/nacos-2.0.4/conf:/home/nacos/conf -v /docker/nacos/nacos-2.0.4/data:/home/nacos/data nacos/nacos-server:v2.0.4

docker run -d --name nacos-1.4.1 -e JVM_XMS=256m -e JVM_XMX=512m -e MODE=standalone -p 8848:8848 -v /docker/nacos/nacos-1.4.1/logs:/home/nacos/logs -v /docker/nacos/nacos-1.4.1/conf:/home/nacos/conf -v /docker/nacos/nacos-1.4.1/data:/home/nacos/data nacos/nacos-server:1.4.1

持久化

首先,导入nacos数据库

其次,设置nacos数据库允许远程访问

然后,修改application.properties配置文件,添加mysql配置

最后,重启nacos,并访问,添加配置测试

# 配置替换

# spring

server.servlet.contextPath=${SERVER_SERVLET_CONTEXTPATH:/nacos}

server.contextPath=/nacos

server.port=${NACOS_APPLICATION_PORT:8848}

spring.datasource.platform=${SPRING_DATASOURCE_PLATFORM:"mysql"}

nacos.cmdb.dumpTaskInterval=3600

nacos.cmdb.eventTaskInterval=10

nacos.cmdb.labelTaskInterval=300

nacos.cmdb.loadDataAtStart=false

db.num=${MYSQL_DATABASE_NUM:1}

db.url.0=jdbc:mysql://${MYSQL_SERVICE_HOST:192.168.56.10}:${MYSQL_SERVICE_PORT:3306}/${MYSQL_SERVICE_DB_NAME:nacos}?${MYSQL_SERVICE_DB_PARAM:characterEncoding=utf8&useUnicode=true&connectTimeout=6000&socketTimeout=6000&autoReconnect=true&useSSL=false}

db.user=${MYSQL_SERVICE_USER:root}

db.password=${MYSQL_SERVICE_PASSWORD:479368}

### The auth system to use, currently only 'nacos' is supported:

nacos.core.auth.system.type=${NACOS_AUTH_SYSTEM_TYPE:nacos}

### The token expiration in seconds:

nacos.core.auth.default.token.expire.seconds=${NACOS_AUTH_TOKEN_EXPIRE_SECONDS:18000}

### The default token:

nacos.core.auth.default.token.secret.key=${NACOS_AUTH_TOKEN:SecretKey012345678901234567890123456789012345678901234567890123456789}

### Turn on/off caching of auth information. By turning on this switch, the update of auth information would have a 15 seconds delay.

nacos.core.auth.caching.enabled=${NACOS_AUTH_CACHE_ENABLE:false}

nacos.core.auth.enable.userAgentAuthWhite=${NACOS_AUTH_USER_AGENT_AUTH_WHITE_ENABLE:false}

nacos.core.auth.server.identity.key=${NACOS_AUTH_IDENTITY_KEY:serverIdentity}

nacos.core.auth.server.identity.value=${NACOS_AUTH_IDENTITY_VALUE:security}

server.tomcat.accesslog.enabled=${TOMCAT_ACCESSLOG_ENABLED:false}

server.tomcat.accesslog.pattern=%h %l %u %t "%r" %s %b %D

# default current work dir

server.tomcat.basedir=

## spring security config

### turn off security

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/**}

# metrics for elastic search

management.metrics.export.elastic.enabled=false

management.metrics.export.influx.enabled=false

nacos.naming.distro.taskDispatchThreadCount=10

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

首先,需要下载安装 Docker。安装完成后,可以在 Docker 中拉取 Nacos 镜像。使用以下命令拉取最新版本的 Nacos 镜像: ``` docker pull nacos/nacos-server ``` 拉取完成后,需要挂载 MySQL 数据库进行数据持久化,使用以下命令启动 Nacos: ``` docker run -e MODE=standalone -e SPRING_DATASOURCE_PLATFORM=mysql -e MYSQL_SERVICE_HOST=<MYSQL_HOST> -e MYSQL_SERVICE_PORT=<MYSQL_PORT> -e MYSQL_SERVICE_DB_NAME=<MYSQL_DATABASE_NAME> -e MYSQL_SERVICE_USER=<MYSQL_USERNAME> -e MYSQL_SERVICE_PASSWORD=<MYSQL_PASSWORD> -v <LOCAL_CONFIG_DIR>:/home/nacos/data -p 8848:8848 -d nacos/nacos-server ``` 其中,需要将 <MYSQL_HOST>、<MYSQL_PORT>、<MYSQL_DATABASE_NAME>、<MYSQL_USERNAME>、<MYSQL_PASSWORD> 和 <LOCAL_CONFIG_DIR> 替换为实际的数据库连接信息和本地配置文件目录。 如果想要使用 Docker Compose 一次性部署 Nacos 和 MySQL,可以使用以下 Compose 文件: ``` version: '3' services: mysql: image: mysql:latest environment: MYSQL_DATABASE: 'nacos' MYSQL_USER: '<MYSQL_USERNAME>' MYSQL_PASSWORD: '<MYSQL_PASSWORD>' MYSQL_ROOT_PASSWORD: '<MYSQL_ROOT_PASSWORD>' ports: - '3306:3306' volumes: - '/mysql-data:/var/lib/mysql' nacos: image: nacos/nacos-server environment: DB_NUM: 1 MODE: 'standalone' MYSQL_SERVICE_HOST: 'mysql' MYSQL_SERVICE_PORT: '3306' MYSQL_SERVICE_DB_NAME: 'nacos' MYSQL_SERVICE_USER: '<MYSQL_USERNAME>' MYSQL_SERVICE_PASSWORD: '<MYSQL_PASSWORD>' volumes: - '/nacos-data:/home/nacos/data' ports: - '8848:8848' depends_on: - mysql ``` 将 <MYSQL_USERNAME>、<MYSQL_PASSWORD> 和 <MYSQL_ROOT_PASSWORD> 替换为实际需要使用的数据库用户名、密码和 root 密码。然后执行以下命令启动 Nacos: ``` docker-compose up -d ``` 这样就成功安装了 Nacos 挂载了数据库。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

龙茶清欢

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值