2017-07-28 1259 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镜像层,但是在部署时没有办法做到这一点,这应该在构建时完成。

相关问题