2016-12-06 29 views
0

我是新來的碼頭,我試圖將本地主機名($主機名)傳遞到碼頭容器並更改容器中的配置文件條目新的$Hostname如何將參數傳遞到碼頭容器和更新容器中的文件傳遞參數

我加入dockerfile的命令如下:

RUN echo $Hostname >> /etc/***.config 

和運行搬運工從圖像

run -e $Hosname='cat /etc/hostname' ...

然而,在容器中的$Hostname是容器的主機名,而不是本地主機。誰能幫我這個?非常感謝!

回答

0

一般來說, -e標誌在調用時設置指定的環境變量。

試試這個:

docker run -e PARENT_HOSTNAME=${HOSTNAME} ... 

(見@ code_monk的答案細節有關容器主機名碼頭工人主機設置爲相同)

我不認爲你通常需要或希望容器中的docker host hostname,但會在容器中設置環境變量。

1

容器的主機名實際上是不能用更改使用常規方法的幾件事情之一。這是因爲碼頭引擎需要知道它正在控制這個以處理鏈接和網絡。

要設置在泊塢窗引擎方面的方式的主機名,這樣做:

docker run --hostname myhostname imagename 

在文檔中的Network Settings部分解釋了這是如何工作

+0

好一點。我的回答更多的是一般性問題。 –

+0

這個問題可能會更清楚 –