2015-09-24 55 views
1

這可能是一個普通碼頭工人的問題,但我用例是搬運工,撰寫:通過本地環境變量來泊塢窗

我需要通過我的機器的主機環境變量,以一種容器,其將通過碼頭工人創造-撰寫。該特定容器使用Dockerfile並在其中使用「cmd」標誌。 「cmd」中的命令使用此環境變量。有人可以幫忙嗎?

+1

回答:https://github.com/docker/compose/issues/2091 – dnephin

+0

謝謝@dnephin,它工作正常:) – 208rishabh

回答

0

如果你可以重寫Dockerfile以包括在issue 1136提到的ENV instruction,的主機名,將工作:

FROM centos:latest 
ENV BLABLA hello 
RUN echo $BLABLA 
# outputs: "hello" 

如果這純粹是一個運行時環境變量的值,它應包括在搬運工1.9與issue 14634: Builder - Build-time argument passing (e.g., HTTP_PROXY)

在此期間,OP 208rishabh提到issue 2091docker compose,通過dnephin回答:

環境或env_file should both work

您可以保留此值爲空,這將需要價值從當前環境:

environment: 
    HOST_HOSTNAME: 

這使得:

HOST_HOSTNAME=$(hostname) docker-compose up 
+0

第一個解決方案將要求我硬編碼環境變量的「值」。我想要一些動態的。 運行時環境變量的值似乎很酷:) 目前,該解決方案是在這裏:https://github.com/docker/compose/issues/2091 – 208rishabh

+0

@ 208rishabh優:我已經包含了你的GitHub上解決問題在更多的知名度的答案。 – VonC