2017-07-28 1264 views
0

可能嗎?如何通過Nomad作業文件將文件複製到Docker容器

這是我的遊牧作業文件

job "test-job" { 
    ... 
    group "test-group" { 
    driver = "docker" 
    config { 
     image = "<image-name>" 
    } 
    ... 
    } 
} 

我的理解是可以通過Dockerfile的碼頭工人建立一個文件複製到一個碼頭工人的形象。 但我想避免從'圖像名稱'圖像顯式創建新的Docker圖像。

我也明白可以將文件複製到從Docker鏡像派生的正在運行的Docker容器。 但是,由於我使用Nomad來推出Docker鏡像並填充容器,如果Nomad可以複製(通過創建新的Docker圖層並將文件複製),這對我來說很方便。

所以我想知道是否以及如何可能?

回答

0

我不知道我理解的問題...

如果你試圖讓泊塢窗圖像到遊牧劑,使牧民可以運行它..保薦人這樣做你。

如果您嘗試在部署過程中將文件添加到Docker鏡像後,Nomad有幾個選項。

您可以使用卷(https://www.nomadproject.io/docs/drivers/docker.html#volumes)並裝入一個帶有文件的目錄。

或者,您可以使用工件(https://www.nomadproject.io/docs/job-specification/artifact.html)並將其放在/ local(Nomad爲您創建此文件夾),我相信這是默認情況下暴露給Docker容器。

或者,一種不同的方式,就是讓Docker容器在啓動時只需要獲取所需的文件。很多人使用consul-template,現在內置於Nomad(https://www.nomadproject.io/docs/job-specification/template.html)。

這些方法都沒有實際創建一個新的Docker鏡像層,但是在部署時沒有辦法做到這一點,這應該在構建時完成。

相關問題