一、环境准备
- 服务器,我的IP是 192.168.31.159,Centos 7
- Docker 版本
Docker version 26.1.4
- nacos单机挂载目录(配置、日志),我的是
/root/docker_run/nacos/single_node
- 在步骤
3
的目录下,新建conf、logs
目录 - 在
/root/docker_run/nacos/single_node/conf
下新建application.properties
文件,内容如下
js
#带了一个前缀
server.servlet.context-path=/nacos
#mysql 数据源
spring.sql.init.platform=mysql
db.num=1
db.url.0=jdbc:mysql://192.168.31.159:13306/nacos_config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true
db.user=root
db.password=admin123
db.pool.config.connectionTimeout=30000
db.pool.config.validationTimeout=10000
db.pool.config.maximumPoolSize=20
db.pool.config.minimumIdle=2
nacos.core.auth.enabled=true
nacos.core.auth.console.enabled=true
nacos.core.auth.system.type=nacos
nacos.core.auth.plugin.nacos.token.secret.key=f005bc063abbb5ca087c07c15f36f5be5e07b94fab995fb1c28a7ce9fd5a20f9
nacos.core.auth.server.identity.key=nacos-single-auth-2025-z
nacos.core.auth.server.identity.value=nacos-single-value-2025-z
二、nacos镜像下载
docker pull nacos/nacos-server:v3.0.3
三、运行Docker镜像
js
docker run -d \
--name nacos-single-node \
-e MODE=standalone \
-e NACOS_AUTH_TOKEN=ZjAwNWJjMDYzYWJiYjVjYTA4N2MwN2MxNWYzNmY1YmU1ZTA3Yjk0ZmFiOTk1ZmIxYzI4YTdjZTlmZDVhMjBmOQ== \
-e NACOS_AUTH_IDENTITY_KEY=nacos-single-auth-2025-z \
-e NACOS_AUTH_IDENTITY_VALUE=nacos-single-value-2025-z \
-v /root/docker_run/nacos/single_node/logs:/home/nacos/logs \
-v /root/docker_run/nacos/single_node/conf:/home/nacos/conf \
-p 18080:8080 \
-p 18848:8848 \
-p 19848:9848 \
nacos/nacos-server:v3.0.3
运行后可以看到容器,且可以通过 http://192.168.31.159:18080/nacos 进入到Nacos控制台

四、配置Nginx代理
js
location ^~ /nacos {
proxy_pass http://127.0.0.1:18080;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
nginx -s reload
重启 nginx 后,可以通过 http://192.168.31.159/nacos 就进入到Nacos控制台