2017-07-06 97 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服務器虛擬主機的分辨率。

編輯:這對我來說似乎有些矯枉過正,任何人都有更好的建議?

相關問題