如何通过Nomad作业文件将文件复制到Docker容器

时间:2017-07-28 11:47:58

标签: docker nomad

有可能吗?

这是我的游牧工作档案

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

我知道可以通过Dockerfile的docker构建将文件复制到Docker镜像。 但我想避免从&#39; image-name&#39;中明确创建一个新的Docker镜像。图像。

我也理解可以将文件复制到从Docker镜像派生的正在运行的Docker容器中。 但自从我使用游牧推出泊坞窗图片和填充的容器,将是方便的我,如果保荐人可以复制(通过即时新的泊坞窗层文件拷贝的创建)。

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

1 个答案:

答案 0 :(得分:1)

我不确定我理解这个问题......

如果你试图将码头图片放到游牧代理上,那么游牧民可以运行它...... Nomad会为你做这件事。

如果您在部署期间构建文件后尝试将文件添加到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图像层,但是在部署时无法做到这一点,应该在构建时完成。

相关问题