Docker Colombia Meetup - Primer Encuentro
Introducción al maravilloso mundo de Docker
Hola ● Soy Manuel Morejón (@mmorejon en Twitter) ● Cloud Engineer en Sngular ● Grupo Docker Captain ● ♥ Arquitecturas Cloud Native, CI/CD y Microservicios ● Autor del libro Érase una vez Kubernetes
2
Hola ● Soy Johan Giraldo (@jsgiraldoh Redes sociales) ● DevOps Engineer ● Grupo Docker Community Leaders ● Me gusta compartir conocimientos ● Autor del Blog: Aprende Docker en Español
3
¿Qué es Docker?
17/08/2021
Introducción al maravilloso mundo de Docker
4
¿Qué es Docker?
17/08/2021
Introducción al maravilloso mundo de Docker
5
¿Qué es Docker?
17/08/2021
Introducción al maravilloso mundo de Docker
6
¿Qué es Docker?
17/08/2021
Introducción al maravilloso mundo de Docker
7
¿Qué es Docker?
17/08/2021
Introducción al maravilloso mundo de Docker
8
¿Para qué puedo usar Docker? ◼ Entrega rápida y consistente de sus aplicaciones
17/08/2021
Introducción al maravilloso mundo de Docker
9
¿Para qué puedo usar Docker? ◼ Los contenedores son excelentes para la integración continua y los flujos de trabajo de entrega continua (CI / CD).
17/08/2021
Introducción al maravilloso mundo de Docker
10
¿Para qué puedo usar Docker?
17/08/2021
Introducción al maravilloso mundo de Docker
11
¿Para qué puedo usar Docker? Considere el siguiente escenario de ejemplo: ◼ Sus desarrolladores escriben código localmente y comparten su trabajo con sus colegas utilizando contenedores Docker. ◼ Usan Docker para llevar sus aplicaciones a un entorno de prueba y ejecutar pruebas automáticas y manuales. ◼ Cuando los desarrolladores encuentran errores, pueden corregirlos en el entorno de desarrollo y volver a implementarlos en el entorno de prueba para pruebas y validación. ◼ Cuando se completa la prueba, obtener la solución para el cliente es tan simple como llevar la imagen actualizada al entorno de producción. 17/08/2021
Introducción al maravilloso mundo de Docker
12
Productos y herramientas
17/08/2021
Introducción al maravilloso mundo de Docker
13
Instalar Docker Engine en Ubuntu 1. En el siguiente enlace podrá encontrar la guía para la instalación de docker. https://docs.docker.com/engine/install/ubuntu/
17/08/2021
Introducción al maravilloso mundo de Docker
14
Verificar instalación de Docker ◼Usar el siguiente comando: docker --version
◼Obteniendo información de la instalación en el sistema. docker info
17/08/2021
Introducción al maravilloso mundo de Docker
15
Agregar el usuario al grupo de Docker ◼Usar el siguiente comando: sudo usermod –aG docker ubuntu
17/08/2021
Introducción al maravilloso mundo de Docker
16
Primer contenedor ◼Usar el siguiente comando: docker container run hello-world
17/08/2021
Introducción al maravilloso mundo de Docker
17
Estructura de comandos ◼Ayuda de docker: docker --help | more
17/08/2021
Introducción al maravilloso mundo de Docker
18
Estructura de comandos
17/08/2021
Introducción al maravilloso mundo de Docker
19
Contenedores - comandos ◼ Listar contenedores: docker container ls
◼ Iniciar un contenedor: docker container start id-o-nombre-contenedor
◼ Detener un contenedor: docker container stop id-o-nombre-contenedor
◼ Eliminar un contenedor: docker container rm id-o-nombre-contenedor 17/08/2021
Introducción al maravilloso mundo de Docker
20
Contenedores - comandos ◼Inspeccionar un contenedor: docker container inspect id-o-nombre-contenedor
◼Ver los logs de un contenedor: docker logs id-o-nombre-contenedor
◼Unirse a la salida estándar de los logs del contenedor: docker logs -f id-o-nombre-contenedor 17/08/2021
Introducción al maravilloso mundo de Docker
21
Imagenes - comandos ◼Listar imágenes: docker image ls
◼Eliminar una imagen: docker image rm id-o-nombre-imagen
◼Inspeccionar una imagen: docker image inspect id-o-nombre-imagen
17/08/2021
Introducción al maravilloso mundo de Docker
22
Introducción a Dockerfile ◼Docker construye las imágenes al leer las instrucciones que se encuentran en el fichero dockerfile. ◼Dockerfile es el nombre de un documento de texto que contiene todos los comandos necesarios para poder crear imágenes (Dependencias, Programas, Código fuente, Configuraciones). 17/08/2021
Introducción al maravilloso mundo de Docker
23
Docker hub ◼ Docker Hub es un servicio proporcionado por Docker para encontrar y compartir imágenes de contenedores con su equipo. Proporciona las siguientes características principales: ◼ Repositorios : imágenes de contenedores de inserción y extracción. ◼ Equipos y organizaciones : administre el acceso a repositorios privados de imágenes de contenedores. ◼ Imágenes oficiales : extraiga y use imágenes de contenedores de alta calidad proporcionadas por Docker. 17/08/2021
Introducción al maravilloso mundo de Docker
24
Docker hub ◼ Imágenes del editor : extraiga y use imágenes de contenedores de alta calidad proporcionadas por proveedores externos. Las imágenes certificadas también incluyen soporte y garantía de compatibilidad con Docker Enterprise.
17/08/2021
Introducción al maravilloso mundo de Docker
25
Docker hub ◼Paso 1: Regístrese en Docker Hub Comience creando una cuenta. https://hub.docker.com/signup
17/08/2021
Introducción al maravilloso mundo de Docker
26
Construir la primera imagen ◼ Primero se debe crear un directorio para el proyecto y después un archivo llamado Dockerfile. ◼ Luego se edita el archivo Dockerfile con un editor de texto. ◼ FROM: Es una etiqueta que le indica a Docker durante la construcción que se va a partir desde un lugar en específico. ◼ COPY: Copiar ficheros o directorios desde la máquina hacia la estructura de ficheros de la imagen que se está creando. ◼ En el siguiente enlace podrá encontrar la guía para la construcción de su primera imagen. https://hub.docker.com/_/nginx 17/08/2021
Introducción al maravilloso mundo de Docker
27
Construir la primera imagen ◼Utilizar el siguiente comando: docker image history --help
Permite conocer de una imagen el conjunto de instrucciones que fueron ejecutadas para su construcción.
17/08/2021
Introducción al maravilloso mundo de Docker
28
¿Qué es Docker Compose? ◼Compose es una herramienta para definir y ejecutar aplicaciones Docker de contenedores múltiples. Con Compose, utiliza un archivo YAML para configurar los servicios de su aplicación. Luego, con un solo comando, crea e inicia todos los servicios desde su configuración.
17/08/2021
Introducción al maravilloso mundo de Docker
29
¿Qué es Docker Compose? ◼Compose funciona en todos los entornos: producción, puesta en escena, desarrollo, pruebas, así como flujos de trabajo de CI.
17/08/2021
Introducción al maravilloso mundo de Docker
30
¿Qué es Docker Compose? ◼ Usar Compose es básicamente un proceso de tres pasos: 1. Defina los servicios que componen su aplicación docker-compose.yml para que puedan ejecutarse juntos en un entorno aislado. 2. Ejecutar docker-compose up y Compose inicia y ejecuta toda su aplicación.
17/08/2021
Introducción al maravilloso mundo de Docker
31
Instalando Docker Compose 1. En el siguiente enlace podrá encontrar la guía para la instalación de docker-compose. https://docs.docker.com/compose/install/ 2. Probar la instalación docker-compose --version
17/08/2021
Introducción al maravilloso mundo de Docker
32
Ejercicio Docker Compose version: '3' services: web: image: dockercloud/hello-world lb: image: dockercloud/haproxy links: - web volumes: - /var/run/docker.sock:/var/run/docker.sock ports: - 80:80 17/08/2021
Introducción al maravilloso mundo de Docker
33
Vista a futuro... Orquestación de contenedores con Kubernetes
Disponible en Leanpub y Amazon FTIhHDGp0Jx6
17/08/2021
Introducción al maravilloso mundo de Docker
34
Puesta en escena... Obten 100 dólares de crédito
Digital Ocean https://m.do.co/c/922854746323
17/08/2021
Introducción al maravilloso mundo de Docker
35
¡ GRACIAS !
17/08/2021
Introducción al maravilloso mundo de Docker
36
Referencias ◼ Resumen de docker. Disponible en: https://docs.docker.com/get-started/overview/ ◼ https://contribute.docker.com/docs/events/meetings/august/
◼ https://collabnix.com/ ◼ https://mmorejon.io/ ◼ https://jsgiraldoh.io/ ◼ https://wiki.salud.gob.sv/wiki/Docker ◼ https://www.loadview-testing.com/es/blog/pruebas-de-carga-de-aplicaciones-de-dock er-con-loadview/ ◼ https://levelup.gitconnected.com/the-state-of-virtual-machines-in-2020-22f5d6c8a40 d Introducción al maravilloso mundo de Docker ◼ 17/08/2021 http://desarrollo-de-soft.com.ar/que-es-un-ciclo-de-vida-de-desarrollo-de-software/
37