2016-04-20 88 views
5

我有幾個docker-compose.yml文件,我想使用相同的Dockerfile,並有一些變化。所以我想將一個參數傳遞給Dockerfile,這樣我可以根據變量設置的任何值做一些稍微不同的操作。將一個變量從docker-compose.yml文件傳遞到Dockerfile

我已經試過到目前爲止

泊塢窗,撰寫-A.yml文件

version: '2' 

services: 
    django: 
    build: 
     context: . 
     dockerfile: ./docker/Dockerfile 
     args: 
     - SOMETHING=foo 

泊塢窗,撰寫-B.yml文件

version: '2' 

services: 
    django: 
    build: 
     context: . 
     dockerfile: ./docker/Dockerfile 
     args: 
     - SOMETHING=bar 

我有一個dockerfile我想在例如中使用SOMETHING

# Dockerfile 
RUN echo $SOMETHING 

這是行不通的。 SOMETHING不會傳遞給dockerfile。

我這樣做是不正確的還是這不是預期的用法?

是否有任何其他方式將一個變量傳遞給Docker-compose.yml文件中的Dockerfile?

任何反饋意見。謝謝

+1

您是否在Dockerfile中引入了'ARG SOMETHING'? – Lauri

+0

更好用ENV,見https://docs.docker.com/engine/reference/builder/#env – user2915097

+0

@Lauri優秀!謝謝 –

回答

11

基本上我錯過了在Dockerfile中聲明arg。

# docker-compose.yml file 

version: '2' 

services: 
    django: 
    build: 
     context: . 
     dockerfile: ./docker/Dockerfile 
     args: 
     - SOMETHING=foo 

 

# Dockerfile 
ARG SOMETHING 
RUN echo $SOMETHING 


大喊答題節目環節到@Lauri用於顯示我的光。

相關問題