La imagen de Nomad Docker se obtendrá de Docker Hub. Pero quiero usar algunas imágenes locales. ¿Cómo puedo usar el tema? (No quiero usar un repositorio privado)
Ejemplo Quiero usar la test de imagen local
> docker images REPOSITORY TAG IMAGE ID CREATED SIZE test latest da795ca8a32f 36 minutes ago 567MB job "test" { datacenters = ["dc1"] group "example" { task "test" { driver = "docker" config { image = "test" } resources { cpu = 500 memory = 256 } } } }Está incorrecto !
No estoy seguro de si esto puede tratarse como una respuesta o un "truco".
Pero si desea que Nomad use una imagen acoplable que ya está presente en un nodo, la imagen NO DEBE etiquetarse como la última.
Para probar, etiqueto mis imágenes como IMAGE:local . De esta manera, Nomad lo usa si está presente, lo extrae del control remoto si no lo está.
Nomad ahora admite imágenes tar docker.
Aquí hay un ejemplo
artifact { source = "http://path.to/redis.tar" } config { load = "redis.tar" image = "redis" }Sin embargo, el tamaño del alquitrán puede ser demasiado grande para ser transportado y aprovisionado de manera resiliente.
Mirando el código fuente de Nomad aquí y aquí , parece que no se admite el uso de imágenes locales de la máquina. Eso tendría sentido, ya que en un entorno de clúster con varios nodos, el programador debe poder obtener la imagen independientemente de la máquina a la que esté asignado el trabajo.
(Una posible solución sería ejecutar un servicio de registro dentro del clúster de Nomad y usar el servidor de almacenamiento que le resulte más conveniente)