我在主机上运行 SQL Server(不在 docker 容器内)。我将它绑定到 127.0.0.1,所有应用程序都可以访问它,这些应用程序在主机上本地运行。
现在我在 docker 容器中有一个 nodejs 应用程序,它也需要连接到 mysql 服务器。
sudo docker inspect
说我的网关是 172.18.0.1
我尝试在容器内使用 172.18.0.1
或 host.docker.internal
作为主机名进行连接。但我总是收到主机无法访问的错误。即使我将mysql绑定到0.0.0.0我也无法连接。
我在 linux 机器上使用 docker:
Server: Docker Engine - Community
Engine:
Version: 20.10.3
API version: 1.41 (minimum version 1.12)
Go version: go1.13.15
Git commit: 46229ca
Built: Fri Jan 29 14:31:32 2021
OS/Arch: linux/amd64
Experimental: false
containerd:
Version: 1.4.3
GitCommit: 269548fa27e0089a8b8278fc4fc781d7f65a939b
runc:
Version: 1.0.0-rc92
GitCommit: ff819c7e9184c13b7c2607fe6c30ae19403a7aff
docker-init:
Version: 0.19.0
GitCommit: de40ad0
docker-compose version 1.25.0, build unknown
docker-py version: 4.1.0
CPython version: 3.8.5
OpenSSL version: OpenSSL 1.1.1f 31 Mar 2020
那是我的 docker-compose.yml:
version: "3"
services:
mailadmin-backend:
image: mailadmin-backend
ports:
- "10600:8080"