无法从 docker 容器连接到远程 MySQL 数据库

Cant Connect to remote MySQL db from docker container

我在centos 8 VPS中安装了docker。我的 VPS 上有 MySQL 服务器 运行。当我的容器尝试连接 MySQL 服务器时,发生了错误。

Can't connect to MySQL server on '10.15.0.5' (115)

这是我的 docker 版本

docker version

Client: Docker Engine - Community
Version:           19.03.5
API version:       1.40
Go version:        go1.12.12
Git commit:        633a0ea
Built:             Wed Nov 13 07:25:41 2019
OS/Arch:           linux/amd64
Experimental:      false
Server: Docker Engine - Community
Engine:
 Version:          19.03.5
 API version:      1.40 (minimum version 1.12)
 Go version:       go1.12.12
 Git commit:       633a0ea
 Built:            Wed Nov 13 07:24:18 2019
 OS/Arch:          linux/amd64
 Experimental:     false
containerd:
 Version:          1.2.6
 GitCommit:        894b81a4b802e4eb2a91d1ce216b8817763c29fb
runc:
 Version:          1.0.0-rc8
 GitCommit:        425e105d5a03fabd737a126ad93d62a9eeede87f
docker-init:
 Version:          0.18.0
 GitCommit:        fec3683

当我安装最新的 docker-engine 时出现同样的错误。

允许在 firewalld 上伪装

firewall-cmd --zone=public --add-masquerade --permanent
firewall-cmd --reload

参考this解释。