Docker swarm共享卷Mysql:主机不允许连接到这个MySQL服务器

我有一个3个docker群集群节点。
对于每个节点,我已经创build了目录/ opt / dockershared /,并且我已经configuration了glusterfs在3个节点之间共享这个目录。

我试图挖掘一堆4个服务:NGINX代理,GUI,API,MYSQL

如果我使用下面的yml部署堆栈,那么没有任何问题:

version: '3.3' services: proxy: image: my-nginx-proxy ports: - "34200:34200" networks: - mynet db: image: mysql/mysql-server:5.6 volumes: - MYDB:/var/lib/mysql networks: - mynet ports: - "3306" deploy: restart_policy: condition: any mode: replicated replicas: 1 update_config: parallelism: 1 delay: 10s environment: - MYSQL_ROOT_PASSWORD=XXX - MYSQL_USER=user - MYSQL_PASSWORD=xxxxx - MYSQL_DATABASE=db api: image: myapi:latest depends_on: - db volumes: - /opt/dockershared/myapi:/data/tmp ports: - "3000" networks: - mynet deploy: restart_policy: condition: any mode: replicated replicas: 2 update_config: parallelism: 1 delay: 10s gui: image: my-gui:latest ports: - "4200" networks: - mynet deploy: restart_policy: condition: any mode: replicated replicas: 2 update_config: parallelism: 1 delay: 10s networks: mynet: volumes: MYDB: 

只要我将db服务中的卷MYDBreplace为与glusterfs共享的文件夹(例如/ opt / dockershared / mydb:/ var / lib / mysql ),我就无法再通过我的api服务连接到mysql:

主机'XXX.XXX.XXX.XX'不允许连接到这个MySQL服务器

我没有更改mysql的configuration,我只更改了卷数据目录。 如果我检查目录/ opt / dockershared / mydb,我可以在3个节点上看到由MYSQL创build的默认数据库(test /,performance_schema /,mysql /,ib_logfile1)

可能是什么问题呢?

谢谢