以前nacos是用的脚本工具部署的,感觉不太好管理,今天把它改成docker-compose的方式,这样管理起来就方便啦。
准备- Ubuntu 18.04.3 LTSnacos 2.0.2docker-compose version 1.29.2
以下为 *** 作步骤,读者可直接移步https://github.com/nacos-group/nacos-docker查阅官方详细介绍。
- 编写docker-compose.yaml,要记得将项目中对应挂载的目录粘贴到指定位置。
version: "2" services: nacos: image: nacos/nacos-server:${NACOS_VERSION} container_name: nacos-standalone environment: - PREFER_HOST_MODE=${PREFER_HOST_MODE} - MODE=${MODE} - SPRING_DATASOURCE_PLATFORM=${SPRING_DATASOURCE_PLATFORM} - MYSQL_SERVICE_HOST=${MYSQL_SERVICE_HOST} - MYSQL_SERVICE_DB_NAME=${MYSQL_SERVICE_DB_NAME} - MYSQL_SERVICE_USER=${MYSQL_SERVICE_USER} - MYSQL_SERVICE_PASSWORD=${MYSQL_SERVICE_PASSWORD} - MYSQL_SERVICE_DB_PARAM=${MYSQL_SERVICE_DB_PARAM} volumes: - ./standalone-logs/:/home/nacos/logs - ./init.d/custom.properties:/home/nacos/init.d/custom.properties ports: - "8848:8848" - "9848:9848" restart: on-failure
- 配置参数.env
NACOS_VERSION=2.0.2 MYSQL_SERVICE_HOST=127.0.0.1 SPRING_DATASOURCE_PLATFORM=mysql MYSQL_SERVICE_DB_NAME=nacos_db MYSQL_SERVICE_USER=nacos MYSQL_SERVICE_PASSWORD=nacos123 # 使用mysql8.0需要配置allowPublicKeyRetrieval=true MYSQL_SERVICE_DB_PARAM=allowPublicKeyRetrieval=true&characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useSSL=false&serverTimezone=GMT%2B8
- 启动
docker-compose up -d问题排查过程
排查过程我以自己遇到的来进行举例。
- 查看容器日志
docker-compose logs -f --tail 111 nacos
- 从容器日志里面可以看到是数据库配置的问题,但是没有详细日志,我们还是无法定位到问题,但是我们可以注意到项目启动的时候会有如下提示:
让我们可以去如下位置查看项目日志,由docker-compose配置找到对应的挂载位置进行查看,里面有很多日志文件都不认识,但是有一个肯定是首要排查的对象nacos.log:
less nacos.log
嘿嘿,被抓到了,可以看到Public Key Retrieval is not allowed这个就是罪魁祸首,我们先去度娘找一下答案:
看来大家也都遇到过这个问题,让我们配置上试试看:
启动成功。可喜可贺!
以上提供一种思路,因为nacos有些日志不会在docker logs中打印,我们需要去查看详细日志。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)