Cómo iniciar el enjambre de docker con el cónsul

¿Cómo comienzo un clúster de enjambre de portador con el back-end de cónsul?

No puedo ver ningún parámetro de descubrimiento en el command docker swarm init? o el command docker swarm join? Corrí con éxito

docker enjambre init ….

y que

acoplamiento de enjambre

para iniciar un clúster en el mecanismo interno de descubrimiento de enjambre, pero no se recomienda para producción. Entonces, ¿qué me estoy perdiendo?

Está ejecutando los nuevos commands de Swarm Mode pero pregunta sobre el uso del clásico Swarm que se ejecuta como un contenedor, estas son dos cosas muy diferentes.

Swarm Mode usa una implementación de balsas para el estado del administrador que no se puede intercambiar con una key externa / almacén de valores. Ejecuta el modo enjambre con los commands que enumeró ( docker swarm init y docker swarm join ). El command de unión elimina la necesidad de una database de descubrimiento de nodos externos. https://docs.docker.com/engine/swarm/how-swarm-mode-works/nodes/

El enjambre clásico usaba un descubrimiento de nodo externo, el valor pnetworkingeterminado que usaba un token de docker hub que no se recomendaba para producción. Para implementar el Enjambre clásico, ejecute el docker run swarm manage con las opciones para publicar el puerto para acceder al administrador y la opción para descubrir los nodos en el enjambre. Classic Swarm tiene más en común con un proxy inverso al docker api que con una herramienta de orquestación como Swarm Mode o Kubernetes. https://docs.docker.com/swarm/reference/manage/

Entonces, la respuesta a su pregunta es no usar commands de Swarm Mode y en su lugar ejecutar los contenedores Swarm clásicos, o si desea Swarm Mode, no intente implementar su propia database de descubrimiento de nodos externos porque esa no es una opción. Recomendaría este último a less que tengas una necesidad específica de Swarm clásico.