2017-04-21 84 views
3

在我的碼頭組合文件中有一個動態字段,我想在運行期間生成。其實這是一個字符串模板:傳遞參數給碼頭組合

environment: 
    - SERVER_URL:https://0.0.0.0:${PORT} 

我想配置此PORT參數動態

docker-compose run <service> PORT=443 

documentationARGS參數設置,我想我可以使用。但沒有任何信息,我怎樣才能使用撰寫文件中的內容

+0

看看https://docs.docker.com/compose/compose-file/#compose-documentation似乎回答你的問題:如果適合你,你可以通過你的運行命令傳遞 – user2915097

+1

這是解決方案是由環境變量。我想用命令行參數代替 – deeptowncitizen

+0

閱讀[這個答案](https://stackoverflow.com/questions/35796353/can-i-pass-arguments-into-docker-compose-the-command-config-option?answertab =活動#tab-top)及其評論。 –

回答

1

在docker-compose中,參數僅在dockerfile中可用並且有用。您可以指定你的水平在做什麼像前面以下:

#dockerfile 
ARG PORT 
ENV SERVER_URL "https://0.0.0.0:$PORT" 

你的端口可以在你的搬運工,compose.yml設置:

build: 
    context: . 
    args: 
    - PORT=443 

它實際上是在任何情況下的環境變量。

PORT=443 docker-compose run <service> 
#or 
docker-compose run <service> -e PORT=443 
+4

這很糟糕,我希望能夠下載一個預先構建的容器並使用我選擇的任何運行時參數運行它。能夠在docker-compose中列出它們應該是基本功能。我只會覆蓋入口點。 – Dagrooms