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

Currency
$209

Paga en 4 cuotas sin intereses

Paga en 4 cuotas sin intereses
Suscríbete

Termina en:

19 Días
11 Hrs
15 Min
52 Seg
Curso de Swarm

Curso de Swarm

Guido Vilariño

Guido Vilariño

Docker Swarm stacks

19/24
Recursos

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

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

– 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!!

![](https://static.platzi.com/media/user_upload/image-04d9f260-5f36-4906-bab5-fdf37197685a.jpg)
Ahora no aparece el puerto, to le tienes que dar en open port y decirle que puerto vas a usar, tiene que el mismo puerto con el que lo expusiste.

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.