首页 > 解决方案 > 无法从 docker 容器连接到 db

问题描述

我在服务器和 dockerized 项目上安装了 MySQL 服务器,数据库不可公开访问,只能从服务器内部访问。它也被本地非 dockerized 应用程序使用。我想从 docker 内部连接到它,但它仍然不能公开访问,我尝试了 172.17.0.1 但连接被拒绝。当前的 bind_address 是 127.0.0.1,你建议 bind_address 是什么?

标签: mysqldocker

解决方案


您可以通过host网络模式运行应用程序,这将使容器能够连接到主服务器(docker 主机)的 localhost,同时保持bind-address指向127.0.0.1.

因此,如果您使用 docker cli,则需要像这样运行您的应用程序:

docker run --network=host myappimage

如果docker-compose您将使用在您的服务中:

network_mode: host

推荐阅读