mysql - 无法从 docker 容器连接到 db
问题描述
我在服务器和 dockerized 项目上安装了 MySQL 服务器,数据库不可公开访问,只能从服务器内部访问。它也被本地非 dockerized 应用程序使用。我想从 docker 内部连接到它,但它仍然不能公开访问,我尝试了 172.17.0.1 但连接被拒绝。当前的 bind_address 是 127.0.0.1,你建议 bind_address 是什么?
解决方案
您可以通过host
网络模式运行应用程序,这将使容器能够连接到主服务器(docker 主机)的 localhost,同时保持bind-address
指向127.0.0.1
.
因此,如果您使用 docker cli,则需要像这样运行您的应用程序:
docker run --network=host myappimage
如果docker-compose
您将使用在您的服务中:
network_mode: host