Docker部署单机版NacosV3.0版本并使用Nginx代理

184 阅读1分钟

一、环境准备

  1. 服务器,我的IP是 192.168.31.159,Centos 7
  2. Docker 版本 Docker version 26.1.4
  3. nacos单机挂载目录(配置、日志),我的是 /root/docker_run/nacos/single_node
  4. 在步骤3的目录下,新建 conf、logs 目录
  5. /root/docker_run/nacos/single_node/conf下新建application.properties文件,内容如下
#带了一个前缀
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镜像

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控制台

image.png

四、配置Nginx代理

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控制台