在我的主機上,我有一臺運行在nginx上的服務器xyz.example.com
。它不是碼頭化的,不能被外界訪問,它只是用於本地開發環境。Docker:如何調整在Docker容器中運行在主機上的本地服務器xyz.example.com
我想能夠從碼頭集裝箱內訪問它。
例如,我希望能夠從我的搬運工容器內做到以下幾點:
curl xyz.example.com
,並看到了相同的輸出我看到的時候我在我的主機上運行的命令。
另外,我正在使用docker-compose。
在我的主機上,我有一臺運行在nginx上的服務器xyz.example.com
。它不是碼頭化的,不能被外界訪問,它只是用於本地開發環境。Docker:如何調整在Docker容器中運行在主機上的本地服務器xyz.example.com
我想能夠從碼頭集裝箱內訪問它。
例如,我希望能夠從我的搬運工容器內做到以下幾點:
curl xyz.example.com
,並看到了相同的輸出我看到的時候我在我的主機上運行的命令。
另外,我正在使用docker-compose。
它可能不直接路由到主機的網絡。 This question可能會有所幫助。
我想你的容器不知道你的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