docker - 从Docker容器访问主机上的服务

标签 docker

我在 docker 论坛上问过类似的问题...

https://forums.docker.com/t/access-service-on-host-machine-from-docker-container/45117

...但是我没有任何喜悦,这应该不难。但是,当我用谷歌搜索时,似乎很难,这对我来说似乎是疯狂的。因此,我将以其他方式提出问题...

正在运行docker 的主机容器的容器

主机B 运行旧服务,暴露在端口1234

容器A 可以访问主机上的旧服务主机B 端口1234 上的B (没有问题)

现在,我决定在主机B 上运行容器A 。疯狂的事情是容器A 不能再访问主机B 提供的旧服务,无论我如何尝试!

必须有一种可靠的方法吗?

容器A 可以在主机A或B主机上运行时,可以ping通主机B ,但是当容器A尝试连接到旧版服务时,我总是会收到错误消息

No route to host



没有防火墙(防火墙已被禁用),并且dns在容器A中可以正常工作,并且无论主机B在哪个主机上运行,​​都可以将主机B解析为正确的IP。

最佳答案

认为在同一主机上运行时必须将HOST传递给容器。例如,主机B上具有“旧版”数据库的Wordpress。

docker run --name wordpress --add-host=db:172.17.0.74 

现在,您可以将Wordpress指向数据库主机:db

关于docker - 从Docker容器访问主机上的服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48458862/

相关文章:

windows - Docker Desktop 2.2+ 在主机卷挂载时性能极其缓慢

docker - 错误 : Service 'ubuntu' failed to build: The command '/bin/sh -c apt-get update

docker - 连接期间出错 : This error may indicate that the docker daemon is not running

postgresql - 主机的 Docker postgres 镜像 : no pg_hba. conf 条目

Docker WORKDIR - 在我的机器上还是容器上?

带有 Traefik 的 Docker Swarm Windows Worker 返回网关超时

Docker for Desktop 运行 Kubernetes - IP 地址不起作用

docker - 将一个 docker 容器的所有请求重定向到另一个 ??

docker - SSH 到 Docker : Permission denied (publickey)

linux - 开发环境中的Docker