当前位置:   article > 正文

docker-compose部署nacos配置外部MySQL数据源报java.lang.IllegalStateException: No DataSource set_docker 部署nacos 连接数据库信息都正确 就是提示数据源问题

docker 部署nacos 连接数据库信息都正确 就是提示数据源问题

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

使用docker-compose部署单机版nacos,并配置外部MySQL数据库(同样是docker-compose部署的MySQL),服务启动时提示java.lang.IllegalStateException: No DataSource set

docker-compose.yaml文件

version: '3.3'
services:
  nacos:
    image: nacos/nacos-server:v2.2.3
    container_name: nacos
    privileged: true
    restart: always
    volumes:
      - /etc/localtime:/etc/localtime
      - ./peer-finder:/home/nacos/plugins/peer-finder
      - ./data:/home/nacos/data
      - ./logs:/home/nacos/logs
    ports:
      - 18848:8848
    environment:
      - MODE=standalone
      - PREFER_HOST_MODE=hostname
      - NACOS_AUTH_ENABLE=true
      - NACOS_AUTH_TOKEN=SecretKey012345678901234567890123456789012345678901234567890123456789
      - NACOS_AUTH_IDENTITY_KEY=admin
      - NACOS_AUTH_IDENTITY_VALUE=admin
      - NACOS_SERVER_PORT=8848
      - NACOS_APPLICATION_PORT=8848
      - SPRING_DATASOURCE_PLATFORM=mysql
      - MYSQL_SERVICE_HOST=127.0.0.1
      - MYSQL_SERVICE_PORT=3306
      - MYSQL_SERVICE_DB_NAME=nacos
      - MYSQL_SERVICE_USER=root
      - MYSQL_SERVICE_PASSWORD={mysql_pwd}
      - MYSQL_SERVICE_DB_PARAM=characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useSSL=false 
      
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31

排查思路

1. 检查数据库的用户名、密码等信息是否正常,可以通过第三方客户端验证一下

2. 检查网络,是否存在访问限制

本例中,本地可以通过客户端连上数据库,故不存在数据库信息错误的问题。之后让nacos和mysql共用一个docker network,nacos可以正常启动

修改后的docker-compose.yaml文件

version: '3.3'
services:
  nacos:
    image: nacos/nacos-server:v2.2.3
    container_name: nacos
    privileged: true
    restart: always
    volumes:
      - /etc/localtime:/etc/localtime
      - ./peer-finder:/home/nacos/plugins/peer-finder
      - ./data:/home/nacos/data
      - ./logs:/home/nacos/logs
    ports:
      - 18848:8848
    networks:
      - mysql_default
    environment:
      - MODE=standalone
      - PREFER_HOST_MODE=hostname
      - NACOS_AUTH_ENABLE=true
      - NACOS_AUTH_TOKEN=SecretKey012345678901234567890123456789012345678901234567890123456789
      - NACOS_AUTH_IDENTITY_KEY=admin
      - NACOS_AUTH_IDENTITY_VALUE=admin
      - NACOS_SERVER_PORT=8848
      - NACOS_APPLICATION_PORT=8848
      - SPRING_DATASOURCE_PLATFORM=mysql
      - MYSQL_SERVICE_HOST=mysql
      - MYSQL_SERVICE_PORT=3306
      - MYSQL_SERVICE_DB_NAME=nacos
      - MYSQL_SERVICE_USER=root
      - MYSQL_SERVICE_PASSWORD={mysql_pwd}
      - MYSQL_SERVICE_DB_PARAM=characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useSSL=false 
networks:
  mysql_default:
    external: true
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/weixin_40725706/article/detail/296605?site
推荐阅读
相关标签
  

闽ICP备14008679号