No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Aprende Inglés, Desarrollo Web, AI, Ciberseguridad y mucho más.

Antes: $249

Currency
$209
Comienza ahora

Termina en:

0 Días
16 Hrs
18 Min
22 Seg
Curso de Swarm

Curso de Swarm

Guido Vilariño

Guido Vilariño

Fundamentos de Docker Swarm: servicios

8/24
Recursos

Aportes 18

Preguntas 2

Ordenar por:

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

Hola Guido,

Tengo corriendo docker swarm para unos microservices en mi trabajo, tenemos un CI para hacer constantemente deploys al docker swarm. La cuestión es que el server cada día va consumiendo mas disco duro y es porque las imágenes de docker se van acumulando. La solución que hice fue crear un cron job que lo que hace es que todos los días hace un docker system prune -f para eliminar todas las imágenes que ya no están en uso.

Cual seria una buena practica para esto ?

En swarm no se corren contenedores manualmente, se declaran los servicios que se desean correr.

// Crear Servicio con el nombre pinger, realizando un ping a google.com
docker service create --name pinger alpine ping www.google.com
// lista los servicios
docker service ls

  • docker swarm init
    l- inux alpine: muy pequeño orientado a seguridad. Se usa mucho en docker como base de imágenes.
  • docker service create --name pinger alpine ping www.google.com
  • Un servicio puede agrupar a uno o varios contenedores.
  • docker service create --name nombre imagedocker command, para crear un nuevo servicio, con un nombre, imagen y comando específico en docker swarm.
  • docker service ls, para listar una serie de servicios.
  • Para poder crear un servicio docker swarm usa los mismos conceptos que se usa docker.

Alpine es una imagen de linux que es muy liviana orientado a seguridad. Se utiliza mucho como base para diferentes contenedores.

Entendido

docker service create --name pinger alpine ping www.google.com
docker service ls

Las tareas de un servicio puede escalar automaticamente ?, de manera que se pueden ajustar a mi demanda dependiendo de los nodos que añado al cluster de docker swarm

<h5>Comandos</h5>
  • Inicializamos Docker Swarm
docker swarm init
  • Creamos un servicio llamado pinger que use una imagen de alpine para hacer un ping a una dirección, en este caso, Google
docker service create --name pringer alpine ping www.google.com
  • Listamos los servicios activos
docker service ls

Las réplicas es como en docker compose los contenedores

  • Listamos los contenedores que están corriendo, se sabe exactamente dado que estamos en un sólo contenedor
docker ps

Lo que hizo cuadno salío que estaba preparando fue descargar la imagen de alpine dado que no la teníamos en la máquina, el funcionamiento parte de la base de lo aprendido en el curso de Docker.

Para usar el comando de docker service necesitas activar el modo Swarm, una vez hecho puedes usar el comando:

List services:

docker service ls

Create a service:

docker service create --name <name> <image> <command>
# for example  
docker service create --name pinger alpine ping www.google.com

Docker swarm descargas las imágenes que requiera para completar la instrucción.

Cuando se utiliza Docker-Compose, utilizamos el termino SERVICIO que “esta por encima de los contenedores” ya que AGRUPA a los contenedores, en Docker Swarm utilizamos el mismo concepto.

– Creando el primer servicio con la imagen de ALPINE

docker service create --name pinger alpine  ping www.google.com

– Listar que servicios estan corriendo

docker service ls

– Listar contenedores, observamos que el nombre del contenedor asignado se asemeja al nombre del servicio

docker ps
\## Fundamentos de Docker Swarm: servicios \- se inicia docker swarm `docker swarm init` \- se crea un servicio llamado pinger y s euas al imagen alpine con ping de dirrección de google para el ejemplo: `docker service create --name pringer alpine ping www.google.com` \- listamos los servicios activos: `docker service ls`

Docker swarn init
docker service create --name pinger alpine ping google
docker service ls

Antes de esta clase vuelvan a iniciar el docker swarm, sino les dará error.

docker swarm init

Excelente