我有两个正在运行的虚拟机,其中一个 (A) 在 docker 网络内有 MYSQL 数据库。
另一个 (B) VM 具有我的前端应用程序 docker 容器。
我运行我的 MYSQL docker 容器 (A),如下所示:
docker run --name db --net=netname -v /path/to/mysql/:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=password -d mysql:5.6.32
docker exec -i db mysql -pyourpassword -e 'CREATE DATABASE mydb'
编辑MYSQL后my.cnf
文件至bind-address = 0.0.0.0
我尝试使用 MYSQL docker 容器给我的 IP 地址从 VM (B) 进行连接ip addr show eth0
命令。
这是:
eth0@if46: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default
link/ether 02:42:ac:12:00:02 brd ff:ff:ff:ff:ff:ff
inet 172.18.0.2/16 scope global eth0
valid_lft forever preferred_lft forever
主机:172.18.0.2 端口:3306
我收到的回复:
OperationalError: (2003, "Can't connect to MySQL server on '172.18.0.2' ([Errno 110] Connection timed out)")
我也尝试过 VM (A) ip 地址,但响应变为connection refused
我确信我错过了一些东西——或者很多东西——我愿意接受启发。我如何从服务器 (B) 成功连接到 (A) 我的 MYSQL 容器?
先感谢您。