如何从本地 docker 镜像进行游牧工作

zha*_*lob 9 docker nomad

nomad docker 镜像将从 Docker Hub 获取。但是我想使用一些本地镜像。我如何使用主题。(我不想使用私人仓库)

示例我想使用本地图像test


> docker images
REPOSITORY                         TAG                 IMAGE ID            CREATED             SIZE
test                        latest              da795ca8a32f        36 minutes ago      567MB
Run Code Online (Sandbox Code Playgroud)
job "test" {
  datacenters = ["dc1"]

  group "example" {
    task "test" {
      driver = "docker"

      config {
        image = "test"
      }

      resources {
        cpu = 500
        memory = 256 
      }
    }
  }
}

Run Code Online (Sandbox Code Playgroud)

这是不对的 !

tit*_*tus 7

我不确定这是否可以被视为答案或“黑客”。

但是,如果您希望 Nomad 使用节点上已存在的 docker 镜像,则该镜像不得标记为最新。

为了进行测试,我将图像标记为IMAGE:local. 这样,Nomad 如果存在则使用它,如果不存在则从远程拉取它。


Jam*_*sJJ 3

查看Nomad的源代码herehere,似乎不支持使用机器本地图像。这是有道理的,因为在具有多个节点的集群环境中,调度程序需要能够获取映像,无论作业分配到哪台机器。

(一种可能的解决方法是在 Nomad 集群中运行注册表服务,并使用对您来说最方便的存储后端)