docker启动xxl-job 网络问题
问题描述
docker启动xxl-job,日志报错连接不上。
问题排查
xxl-job需要配置mysql启动。而mysql也是docker启动。故而启动时配置的ip地址是127.0.0.1。该ip被xxl-job容器解析后会在容器内部连接127.0.0.1。由于容器中本身没有安装mysql所以启动失败。
解决办法
将mysql和xxl-job放在同一个网络下启动。
并且配置xxl-job的mysql的ip需要替换为服务名。
version: '2.29.2'
networks:smsnetwork:name: smsnetworkdriver: bridge
services:mysql:image: mysql:8.4container_name: mysql8.4ports:- 3306:3306networks:- smsnetworkenvironment:- MYSQL_ROOT_PASSWORD=123456volumes:- /D/development/dockerVolumes/mysql8.4:/var/lib/mysqlxxl-job:image: xuxueli/xxl-job-admin:2.3.1container_name: xxl-job2.3.1volumes:- ./logs/:/data/applogsports:- 8080:8080networks:- smsnetworkdepends_on:- mysqlenvironment:PARAMS: '--spring.datasource.url=jdbc:mysql://mysql:3306/xxl_job?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&serverTimezone=Asia/Shanghai--spring.datasource.userName=root--spring.datasource.password=123456'