如何从docker容器内部连接到主机中的服务?

如何从docker容器内部连接到主机中的服务?,docker,containers,Docker,Containers,我在主机上启动了一个docker守护进程,监听一些ip地址和端口,比如10.10.10.10和端口1234,然后通过调用 sudo docker -H 10.10.10.10:1234 centos /bin/bash 同时,我有一个web服务在主机上运行,在8080端口上运行。然后从容器内部,我无法连接到此服务器。我试过了 curl http://10.10.10.10:8080 但收到一条错误消息: curl: (7) couldn't connect to host 但是我可以在其他

我在主机上启动了一个docker守护进程,监听一些ip地址和端口,比如10.10.10.10和端口1234,然后通过调用

sudo docker -H 10.10.10.10:1234 centos /bin/bash
同时,我有一个web服务在主机上运行,在8080端口上运行。然后从容器内部,我无法连接到此服务器。我试过了

curl http://10.10.10.10:8080
但收到一条错误消息:

curl: (7) couldn't connect to host
但是我可以在其他机器上访问服务器,比如 docker容器似乎无法在其自己的主机上访问服务?有没有办法解决这个问题?谢谢大家在这里讨论过的

同时,博客文章“”列出了一些选项:

  • 网关方法:
    netstat-nr | grep'^0\.0\.0'| awk'{print$2}'
  • IP方法:boot2docker的IP地址是192.168.59.103
虽然无法内省主机的ip地址(AFAIK),但您可以通过环境变量将其传入:

您在“”中有其他选项,主机上的虚拟接口名为
docker0

请参阅
docker@boot2docker:~$  docker run -i -t -e DOCKER_HOST=192.168.59.103 ubuntu /bin/bash
root@07561b0607f4:/# env
HOSTNAME=07561b0607f4
DOCKER_HOST=192.168.59.103