Curl Docker:如何从Docker容器中卷曲主机上运行的本地服务器xyz.example.com
在我的主机上,我有一个运行在nginx上的服务器Curl Docker:如何从Docker容器中卷曲主机上运行的本地服务器xyz.example.com,curl,docker,Curl,Docker,在我的主机上,我有一个运行在nginx上的服务器xyz.example.com。它不是固定的,外部世界也无法访问,它只是用于本地开发环境 我希望能够从docker容器中访问它 例如,我希望能够在docker容器中执行以下操作: curl xyz.example.com 并查看在主机上运行命令时看到的相同输出 另外,我正在使用docker compose。它可能没有直接路由到主机的网络。可能有帮助。它可能没有直接路由到主机的网络。可能会有帮助。我想您的容器不知道您的xyz.example.com
xyz.example.com
。它不是固定的,外部世界也无法访问,它只是用于本地开发环境
我希望能够从docker容器中访问它
例如,我希望能够在docker容器中执行以下操作:
curl xyz.example.com
并查看在主机上运行命令时看到的相同输出
另外,我正在使用docker compose。它可能没有直接路由到主机的网络。可能有帮助。它可能没有直接路由到主机的网络。可能会有帮助。我想您的容器不知道您的
xyz.example.com
,因为它是在主机的/etc/host
中声明的(您说它是一个专用服务器)
然后,您可以将主机添加为extra\u host
:
services:
some-service:
extra_hosts:
- "xyz.example.com:HOST_BRIDGE_IP"
将在容器的/etc/host
中添加主机名映射
然后运行您的docker compose.yml
在docker桥中用其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进行虚拟主机解析
编辑:这对我来说似乎有点过分了,有人有更好的建议吗?我猜您的容器不知道您的
xyz.example.com
,因为它是在主机的/etc/host
中声明的(您说它是一个私有服务器)
然后,您可以将主机添加为extra\u host
:
services:
some-service:
extra_hosts:
- "xyz.example.com:HOST_BRIDGE_IP"
将在容器的/etc/host
中添加主机名映射
然后运行您的docker compose.yml
在docker桥中用其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进行虚拟主机解析
编辑:这对我来说似乎有点过分了,有人有更好的建议吗?您的错误是什么?
curl:(6)无法解析主机
您使用docker compose吗?是的,我使用docker compose。我知道这有点旧,但您解决过这个问题吗?我有完全相同的问题。您遇到的错误是什么?curl:(6)无法解析主机
您使用docker compose吗?是的,我使用docker compose。我知道这有点旧,但您解决过这个问题吗?我有完全相同的问题。