2015-06-13 19 views
4

我的容器應該共享相同的源代碼文件夾。docker可以在同一個文件夾中構建來自不同Dokcerfiles的構建圖像

但他們應該從不同的Dokcerfiles構建。

是否有可能用docker-made構建它們並一次構建不同的Dokcerfiles?

我希望有一個像

build: . -f <<Dokcerfile_ABC>build: . -f <<Dokcerfile_CDE>

abc: 
    build: . -f <<Dokcerfile_ABC> 
    environment: 
    - PROJECT=abc 
    command: ruby abc/abc.rb 
    volumes: 
     - ./:/working_direcotry 
    ports: 
    - 5904:5904 

cde: 
    build: . -f <Dokcerfile_CDE> 
    environment: 
    - PROJECT=cde 
    command: ruby cde/cde.rb 
    volumes: 
     - ./:/working_direcotry 
    ports: 
    - 5902:5902 
+0

你應該沒事向docker github提出拉你的想法請求 – BMW

+0

這是一個可能的重複http://stackoverflow.com/questions/29835905/docker-compose-using-multiple-dockerfiles-for-multiple -服務。起初我誤解了這個問題(忽略了碼頭構成部分)並寫了一個答案。我現在刪除了這個答案,併發布了這個評論,而不是哈哈。 –

回答

0

語法只要指定Dockerfile名稱:

abc: 
    build: path/to/Dockerfile_for_abc 
+1

我的猜測是作者想要所有服務都使用相同的構建上下文。一旦Dockerfile處於不同的路徑中,構建上下文也會更改爲該路徑。 –

3

以下爲我工作

abc: 
    build: 
    context: . 
    dockerfile: Dockerfile.one 
def: 
    build: 
    context: . 
    dockerfile: Dockerfile.two 

當然,如果您有不同的上下文,您可以根據需要調整上下文。我也使用它來讓單獨的Dockerfile.production版本爲應用的生產版本設置不同的東西。

相關問題