En caso de una base de datos productiva en donde deberÃa estar y como se harÃa la conexión, todas las instancias conectadas a la misma base de datos?
Conceptos básicos
Qué aprenderás sobre docker swarm
¿Qué es Swarm?
El problema de la escala: qué pasa cuando una computadora sóla no alcanza
Arquitectura de Docker Swarm
Preparando tus aplicaciones para Docker Swarm: los 12 factores
Primeros pasos
Instalación de Docker
Tu primer Docker Swarm
Fundamentos de Docker Swarm: servicios
Entendiendo el ciclo de vida de un servicio
Un playground de docker swarm gratuito: play-with-docker
Docker Swarm multinodo
Administrando Servicios
Administrando servicios en escala
Controlando el despliegue de servicios
Exponiendo aplicaciones al mundo exterior
Swarm avanzado
El Routing Mesh
Restricciones de despliegue
Disponibilidad de nodos
Networking y service discovery
Docker Swarm stacks
Reverse proxy: muchas aplicaciones, un sólo dominio
Swarm productivo
Arquitectura de un swarm productivo
Administración remota de swarm productivo
Consideraciones adicionales para un swarm produtivo
Conclusiones
Conclusiones
No tienes acceso a esta clase
¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera
Guido Vilariño
Aportes 15
Preguntas 6
En caso de una base de datos productiva en donde deberÃa estar y como se harÃa la conexión, todas las instancias conectadas a la misma base de datos?
Con la última versión de mongo ya no corre, porque el driver que esta en el proyecto de networking no es compatible con la ultima versión de mongo.
Al crear el servicio db usen mongo:4.0.1 para usar el mismo del profesor
La red overlay crea una red distribuida entre múltiples Docker daemon hosts. Esta red se ubica en la parte superior(overlay) de las redes de un host , permitiendo que los contenedores se conecten a ese host(incluyendo containers con servicios swarm). Docker maneja transparentemente el ruteo de cada paquete hacia y desde el correcto Docker daemon host y el correcto contenedor de destino.
Las redes en docker son muy potentes y simplifican trabajo.
docker network
docker network create --driver overlay app-net
docker network inspect app-net
docker build -t baezdavidsan/networking .
docker login
docker push baezdavidsan/networking
docker service create -d --name db --network app-net mongo
docker service ps db
docker service create --name app --network app-net -p 3000:3000 baezdavidsan/networking
docker service ps app
docker service update --env-add MONGO_URL=mongodb://db/test app
docker ps
docker exec -it 0491a70c18cf bash
mongo
use test
db.pings.find()
docker network inspect app-net
vamos a ver como es el networking al momento de trabajar con swarm, vamos a poder inspeccionar que tenemos en la red. Todo esto, utilizando el repositorio que encuentras en los enlaces del curso. https://docs.docker.com/network/overlay/
– Nos situamos en manager1 y creamos una nueva red
docker service rm app
docker network ls
docker network create --driver overlay app-net
– Vamos a usar los archivos de swarm/networking en nuestro local.
cd swarm/networking
docker build -t borisvargas/swarm-networking .
docker push borisvargas/swarm-networking
– Nos situamos en manager. Creamos el servicio de mongo
docker service create -d --name db --network app-net mongo
docker service ps db
– Creamos el servicio de app
docker service create -d --name app --network app-net -p 3000:3000 borisvargas/swarm-networking
docker service ps app
docker service update --env-add MONGO_URL=mongodb://db/test app
docker exec -it <ID_CONTAINER_DB> bash
# mongo
> use test
> db.pings.find()
> db.pings.find()
– Esta es la manera como se comunican en un entorno de swarm
docker network inspect app-net
Genial curso, tengo una pregunta en caso de una base de datos productiva, tienes algún recurso, ejemplo o documentación para ver como conectarÃa la base de datos al cluster de docker swarm?
Se que depende del tipo de la base de datos pero entiendo que para poner comunicar un servicio con otro se debe tener un network overlay en el cluster… en caso de que la base de datos no corra dentro del cluster como se conectarÃa?
PodrÃa ser muy bueno un ejemplo para base de datos productivas. Con un ejemplo con el plugin Rexray.
J O Y A
Crear una red
docker network create --driver overlay app-net
Cabe aclarar que lo del minuto 9:10 no es propio de Swarm o de la red overlay. Cualquier otro tipo de driver de red como bridge tiene la capacidad de «traducir» el nombre del servicio como un hostname, y se usa mucho también en Compose.
Una herramienta que puede servir para la administracion
https://docs.portainer.io/start/install?_ga=2.3787696.1469670269.1654810390-499417638.1654810390
Solo por si alguien quiere resolver la duda y esta montando su base de datos en una LAN y swarm para ver si se pueden ver. Recuerden que deben permitir las conexiones externas de a la base de datos. Por ejemplo para postgresql dejo este articulo https://bigbinary.com/blog/configure-postgresql-to-allow-remote-connection
jajja, hombre creo que desde el principio se debe advertir del consumo de memoria por docker, jaja, me tiré todo el sistema operativo!
Ese ultimo ping no respondio… no quedo bueno eso
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?