使用 Docker Compose 编排 Nacos 2.2.3 并自动适配 PostgreSQL 14 时,需要自定义文件来连接数据库,一下是配置的步骤和实例
1. 创建 Docker Compose 文件
创建一个 docker-compose.yml 文件,包含 Nacos 和 PostgreSQL 服务:
version: '3.8'
services:
nacos:
image: nacos/nacos-server:v2.2.3
container_name: nacos-server
ports:
- "8848:8848"
- "9848:9848"
- "9849:9849"
environment:
- MODE=standalone
- SPRING_DATASOURCE_PLATFORM=postgresql
- POSTGRES_SERVICE_HOST=postgresql
- POSTGRES_SERVICE_PORT=5432
- POSTGRES_DB=nacos
- POSTGRES_USER=nacos
- POSTGRES_PASSWORD=nacos
volumes:
- /home/nacos/logs:/home/nacos/logs
- /home/nacos/plugins:/home/nacos/plugins
- /home/nacos/conf/custom.properties:/home/nacos/conf/application.properties
depends_on:
- postgresql
restart: always
postgresql:
image: postgres:14
container_name: postgresql-db
ports:
- "5432:5432"
environment:
- POSTGRES_DB=nacos
- POSTGRES_USER=nacos
- POSTGRES_PASSWORD=nacos
volumes:
- postgresql_data:/var/lib/postgresql/data
restart: always
volumes:
postgresql_data:
2. 创建自定义配置文件
在/home/nacos/conf目录下创建 custom.properties 文件,路径可自行调整对应挂载映射容器,内容如下:
# 数据库配置 spring.datasource.platform=postgresql db.num=1 db.url.0=jdbc:postgresql://postgresql:5432/nacos?tcpKeepAlive=true&reWriteBatchedInserts=true&ApplicationName=nacos_java db.user=nacos db.password=nacos db.pool.config.driverClassName=org.postgresql.Driver # 安全配置 nacos.core.auth.plugin.nacos.token.secret.key=SecretKey012345678901234567890123456789012345678901234567890123456789 nacos.core.auth.server.identity.key=nacos nacos.core.auth.server.identity.value=nacos nacos.core.auth.plugin.nacos.token.cache.enable=false # 服务器配置 server.port=8848 nacos.security.ignore.urls=/,/error,/‌**/*.css,/**‌/*.js,/‌**/*.html,/**‌/*.map,/‌**/*.svg,/**‌/*.png,/‌**/*.ico,/console-ui/public/**‌,/v1/auth/‌**,/v1/console/health/**‌,/actuator/‌**,/v1/console/server/**‌ # 其他配置 nacos.naming.empty-service.auto-clean=true nacos.naming.empty-service.clean.initial-delay-ms=50000 nacos.naming.empty-service.clean.period-time-ms=30000
3.下载插件
下载自动适配驱动jar文件包,放到plugins路径下,可自行到网上查找开源包
https://github.com/wuchubuzai2018/nacos-datasource-extend-plugins/releases
4. 启动服务
在包含docker-compose.yml的文件配置下,执行启动命令
docker-compose up -d nacos说明
SPRING_DATASOURCE_PLATFORM=postgresql 设置使用 PostgreSQL 数据库。
db.url.0 指定 PostgreSQL 连接地址,其中 postgresql 是 PostgreSQL 容器的名称。
db.user 和 db.password 是 PostgreSQL 的用户名和密码。
db.pool.config.driverClassName 指定 PostgreSQL JDBC 驱动类名。
自定义配置文件通过 volumes 挂载到 Nacos 容器中,确保 Nacos 启动时使用自定义配置。
通过以上配置,Nacos 2.2.3 将会自动适配 PostgreSQL 14 数据库并正常运行。
发表评论