2017-07-06 92 views
0

在我的主机上,我有一台运行在nginx上的服务器xyz.example.com。它不是码头化的,不能被外界访问,它只是用于本地开发环境。Docker:如何调整在Docker容器中运行在主机上的本地服务器xyz.example.com

我想能够从码头集装箱内访问它。

例如,我希望能够从我的搬运工容器内做到以下几点:

curl xyz.example.com 

,并看到了相同的输出我看到的时候我在我的主机上运行的命令。

另外,我正在使用docker-compose。

+0

你的错误是什么? – Robert

+0

'卷曲:(6)无法解析主机' –

+0

您使用的是docker-compose? – Robert

回答

0

它可能不直接路由到主机的网络。 This question可能会有所帮助。

1

我想你的容器不知道你的xyz.example.com,因为它在你的主机的/etc/host(你说它是一个私人服务器)声明?

然后,你可以添加主机extra_host

services: 
    some-service: 
    extra_hosts: 
     - "xyz.example.com:HOST_BRIDGE_IP" 

extra_host将在容器的/etc/host添加主机名映射。

和运行docker-compose.yml替换HOST_BRIDGE_IP与它在泊坞窗桥IP:

HOST_BRIDGE_IP=$(docker network inspect bridge \ 
    --format '{{range .IPAM.Config}}{{.Gateway}}{{end}}') \ 
&& sed -e "s/HOST_BRIDGE_IP/${HOST_BRIDGE_IP}/g" \ 
docker-compose.yml | docker-compose --file - up 

这将允许基于您的DNS服务器虚拟主机的分辨率。

编辑:这对我来说似乎有些矫枉过正,任何人都有更好的建议?

相关问题