Docker:如何调整在Docker容器中运行在主机上的本地服务器xyz.example.com
问题描述:
在我的主机上,我有一台运行在nginx上的服务器xyz.example.com
。它不是码头化的,不能被外界访问,它只是用于本地开发环境。Docker:如何调整在Docker容器中运行在主机上的本地服务器xyz.example.com
我想能够从码头集装箱内访问它。
例如,我希望能够从我的搬运工容器内做到以下几点:
curl xyz.example.com
,并看到了相同的输出我看到的时候我在我的主机上运行的命令。
另外,我正在使用docker-compose。
答
我想你的容器不知道你的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服务器虚拟主机的分辨率。
编辑:这对我来说似乎有些矫枉过正,任何人都有更好的建议?
你的错误是什么? – Robert
'卷曲:(6)无法解析主机' –
您使用的是docker-compose? – Robert