ejemplos - docker hub
¿Cómo llegar a los contenedores adicionales por el nombre de host después de la escala docker-compose? (3)
Estoy usando docker-compose 1.6 con docker 1.10.1 y la versión 2 de docker-compose.yml.
Tal como se describe en Redes en Compose , se crea una nueva red y todos los contenedores tienen asignados nombres de host después de la docker-compose up
.
¿Cómo puedo llegar a contenedores adicionales (es decir, a escala) a través de nombres de host después docker-compose scale <component>=2
?
Según los ejemplos que he visto, suponiendo que su nombre de contenedor es db
, los contenedores escalados tienen los nombres de db_1
, db_2
, etc.
Al usar "escala", el servicio interno de docker resolutivo solo resuelve nombres completos como projectname_db_1, projectname_db_2, etc. Ciertamente, sería mejor proporcionar, además, la resolución del nombre del servicio + índice sin el prefijo del nombre del proyecto.
He respondido esa pregunta en base a python con la aplicación Docker.
Básicamente puede usar la aplicación docker api
para averiguar cuál es el nombre del proyecto y el nombre del servicio.
Luego puede filtrar todos los contenedores disponibles para el mismo project
+ service
para obtener otras instancias de usted mismo.
Con la búsqueda de los números, finalmente puede construir los nombres de host.
Consulte Cómo obtener información sobre nosotros mismos en un clúster de redacción (copia de seguridad en gist.github.com)