2014-06-30 194 views
1

我讀了泊塢窗引導和我有一個關於這個頁的問題:https://docs.docker.com/userguide/dockerlinks/泊塢窗鏈接容器

接近尾聲,這是寫:

除了環境變量泊塢窗增加了主機條目爲/ etc/hosts文件的鏈接父節點。現在我們來看看Web容器上的這個文件。

[email protected]:/opt/webapp 
cat /etc/hosts 
172.17.0.7 aed84ee21bde 
. . . 
172.17.0.5 db 

什麼是命令行,我應該執行有在Web容器看看嗎? 在此先感謝!

回答

1

就在之前,他們做了:docker run --rm --name web2 --link db:db training/webapp env。爲了讓shell提示符下,只需在交互模式下運行的bash:docker run --rm -it --name web2 --link db:db training/webapp bash那麼你可以cat /etc/hosts

或者,您也可以直接做docker run --rm --name web2 --link db:db training/webapp cat /etc/hosts

+0

這很有幫助,謝謝。說這不是看在網絡容器,而是開始一個新的容器來查看圖像是否公平? – Mark

+1

是的,沒有。它會從圖像中產生一個新的容器,所以它不會看到實際運行的Web容器,它將以只讀方式查看圖像。您所做的任何更改僅適用於新容器。 – creack

1

除了@creack如何看待主機響應文件使用來自容器內的外殼,您也可以從主機訪問該文件。

sudo cat `docker inspect --format '{{.HostsPath}}' web2` 

上面一個襯裏檢查名爲web2容器和使用模板(具有--format指定的)的路徑返回到被提供給容器的hosts文件。然後,它只是使用cat來顯示它(它也使用sudo,以獲得正確的訪問級別,因爲碼頭工人分配文件root

的一個有趣的副作用是,你可以更新容器的hosts文件(如果你獲得了對主機的root權限)。