Una Buena ayuda para aprender mas a fondo el tema:
https://medium.com/@Grigorkh/docker-for-beginners-part-4-deploying-an-app-to-a-swarm-620b4d67e7c3
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
Convierte tus certificados en tÃtulos universitarios en USA
Antes: $249
Paga en 4 cuotas sin intereses
Termina en:
Guido Vilariño
Con Docker Swarm Stacks (un archivo) se puede controlar cómo se van a despliegan los servicios utilizando los stacks. Siempre es bueno utilizar un archivo porque este puede ser versionado (Git) y se tiene un archivo que va a describir la arquitectura de la aplicación.
Aportes 16
Preguntas 4
Una Buena ayuda para aprender mas a fondo el tema:
https://medium.com/@Grigorkh/docker-for-beginners-part-4-deploying-an-app-to-a-swarm-620b4d67e7c3
– Nos dirigimos a nuestro repositorio https://github.com/platzi/swarm, a la carpeta stack.
cd swarm/stacks
cat stackfile.yml
– Nos dirigimos a nuestro manager1
docker service rm app db
docker network rm app-net
vim stackfile.yml
###########stackfile.yml##############
version: "3"
services:
app:
image: borisvargas/swarm-networking
environment:
MONGO_URL: "mongodb://db:27017/test"
depends_on:
- db
ports:
- "3000:3000"
db:
image: mongo
######################################
docker stack deploy --compose-file stackfile.yml app
docker stack ls
docker stack ps app
docker stack services app
– Quiero que los servicios esten en los workers`
vim stackfile.yml
###########stackfile.yml##############
version: "3"
services:
app:
image: borisvargas/swarm-networking
environment:
MONGO_URL: "mongodb://db:27017/test"
depends_on:
- db
ports:
- "3000:3000"
deploy:
placement:
constraints: [node.role==worker]
db:
image: mongo
######################################
docker stack deploy --compose-file stackfile.yml app
docker stack rm app
Yaml es muy sensible a los espacios en blanco, a mi me marco muchos errores por tener espacio en blanco demás.
Nos ayuda a simplificar la administración.
docker service rm app
docker service rm db
docker network rm app-net
docker stack deploy --compose-file stackfile.yml app
docker service ls
docker stack ls
docker stack ps app
docker stack services app
docker service scale app_app=3
docker stack rm app
Lo que siempre debemos versionar y ejecutar es un archivo yml ya que tiene más funcionalidad que compose.
Aparte que es muy útil para describir la estructura de la aplicación.
Como se accede al visualizador?
Asique…USEN STACKS jajaa
Eliminar un stack
docker stack rm app
``
deployar el stack
docker stack deploy --compose-file stackfile.yml app
Ohh rayos con docker stack si se puede utilizar k8s, que astucia!!
ya hay demasiadas cosas que **no funcionan ** en este tutorial a esta fecha.
creo que es hora de actualizarlo para el bien de la comunidad interesada.
# deploy or redeploy stackfile with name "app"
docker stack deploy --compose-file stackfile.yml app
#view stack
docker stack ls
docker stack ps app
docker stack services app
# remove stack "app"
docker stack rm app
Tengo una pregunta para el profesor Guido, cuando se trabaja con infraestructuras de Amazon, es recomendable trabajar con ECS (Elastic Container Services), que tienen un sobre costo por el uso de recursos de máquina y que no son baratos, o se podrÃa trabajar con la alternativa de levantar un cluster dentro de una imagen tÃpica EC2, con todas las caracterÃsticas de un entorno productivo?, muchas gracias de antemano por su valiosa respuesta.
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?