Introducción al maravilloso mundo de Docker
![](https://assets.isu.pub/document-structure/230817220714-ba0a1076bcaa078606d090ee56acd42f/v1/940abe506493602987f48bb244f260a3.jpeg)
![](https://assets.isu.pub/document-structure/230817220714-ba0a1076bcaa078606d090ee56acd42f/v1/df8a8ca12935eeadd3b1253281a27134.jpeg)
Hola
● Soy Johan Giraldo (@jsgiraldoh
Redes sociales)
● DevOps and Cloud Engineer
![](https://assets.isu.pub/document-structure/230817220714-ba0a1076bcaa078606d090ee56acd42f/v1/b8adaca419722f9db75c8f6756bea05f.jpeg)
● Grupo Docker Community Leaders
![](https://assets.isu.pub/document-structure/230817220714-ba0a1076bcaa078606d090ee56acd42f/v1/0878844e195007ad8370fb837c9c2f34.jpeg)
● Me gusta compartir conocimientos
● Autor del Blog:
Aprende Docker en Español
CNCF Cloud Native Interactive
![](https://assets.isu.pub/document-structure/230817220714-ba0a1076bcaa078606d090ee56acd42f/v1/960166bcb863c9c047ecbcf387802d90.jpeg)
Landscape
¿Qué es Docker?
![](https://assets.isu.pub/document-structure/230817220714-ba0a1076bcaa078606d090ee56acd42f/v1/c8d6875c0495e9b276f67e45d505c989.jpeg)
¿Qué es Docker?
![](https://assets.isu.pub/document-structure/230817220714-ba0a1076bcaa078606d090ee56acd42f/v1/3b85ad0e2fb477b3f1c26e832acc33e4.jpeg)
¿Qué es Docker?
![](https://assets.isu.pub/document-structure/230817220714-ba0a1076bcaa078606d090ee56acd42f/v1/37f36f28f4b28ebd708b9e95ee7908d7.jpeg)
¿Qué es Docker?
![](https://assets.isu.pub/document-structure/230817220714-ba0a1076bcaa078606d090ee56acd42f/v1/2c49204f0597f3186d2664d63b2ad78d.jpeg)
¿Qué es Docker?
![](https://assets.isu.pub/document-structure/230817220714-ba0a1076bcaa078606d090ee56acd42f/v1/3f5938457b7d799d23d601e5ec9d45d2.jpeg)
¿Para qué puedo usar Docker?
◼ Entrega rápida y consistente de sus aplicaciones
![](https://assets.isu.pub/document-structure/230817220714-ba0a1076bcaa078606d090ee56acd42f/v1/f3a5bc5342898dfab11bcd8ba58dff14.jpeg)
¿Para qué puedo usar Docker?
◼ Los contenedores son excelentes para la integración continua y los flujos de trabajo de entrega continua (CI / CD).
![](https://assets.isu.pub/document-structure/230817220714-ba0a1076bcaa078606d090ee56acd42f/v1/491e0acd41c79dd3ded826749ba8ebc0.jpeg)
¿Para qué puedo usar Docker?
![](https://assets.isu.pub/document-structure/230817220714-ba0a1076bcaa078606d090ee56acd42f/v1/9ccfc0a4af45f3bba3cf5113d50a0775.jpeg)
¿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.
¿Para qué puedo usar Docker?
![](https://assets.isu.pub/document-structure/230817220714-ba0a1076bcaa078606d090ee56acd42f/v1/4452742db603fd198ad01697c8ce4ba9.jpeg)
![](https://assets.isu.pub/document-structure/230817220714-ba0a1076bcaa078606d090ee56acd42f/v1/59b1d35c763a2ef5cffd6f3b169972f4.jpeg)
![](https://assets.isu.pub/document-structure/230817220714-ba0a1076bcaa078606d090ee56acd42f/v1/59b1d35c763a2ef5cffd6f3b169972f4.jpeg)
![](https://assets.isu.pub/document-structure/230817220714-ba0a1076bcaa078606d090ee56acd42f/v1/59b1d35c763a2ef5cffd6f3b169972f4.jpeg)
![](https://assets.isu.pub/document-structure/230817220714-ba0a1076bcaa078606d090ee56acd42f/v1/59b1d35c763a2ef5cffd6f3b169972f4.jpeg)
Productos y herramientas
![](https://assets.isu.pub/document-structure/230817220714-ba0a1076bcaa078606d090ee56acd42f/v1/10b2320e2f101b13ffacae1ff3572195.jpeg)
![](https://assets.isu.pub/document-structure/230817220714-ba0a1076bcaa078606d090ee56acd42f/v1/90b24afb70c03ce9652c63158417899f.jpeg)
![](https://assets.isu.pub/document-structure/230817220714-ba0a1076bcaa078606d090ee56acd42f/v1/5384941df94f54e0971af4413a823358.jpeg)
![](https://assets.isu.pub/document-structure/230817220714-ba0a1076bcaa078606d090ee56acd42f/v1/383e737fe5719a98b2ae9807e77c42f0.jpeg)
![](https://assets.isu.pub/document-structure/230817220714-ba0a1076bcaa078606d090ee56acd42f/v1/4db3db30f74206c2052557fa6ea46fd6.jpeg)
Productos y herramientas
![](https://assets.isu.pub/document-structure/230817220714-ba0a1076bcaa078606d090ee56acd42f/v1/bd8fe9d60756377d82b4ca58de4917fa.jpeg)
Instalar Docker Engine en Ubuntu
Verificar instalación de Docker
◼Usar el siguiente comando:
docker --version
◼Obteniendo información de la instalación en el sistema.
docker info
Agregar el usuario al grupo de Docker
Usar el siguiente comando:
sudo usermod –aG docker ubuntu
Primer contenedor ◼
Usar el siguiente comando:
docker container run hello-world
![](https://assets.isu.pub/document-structure/230817220714-ba0a1076bcaa078606d090ee56acd42f/v1/99b22cec9217a536e9af7c51696e4e88.jpeg)
Estructura de comandos
Ayuda de docker:
docker --help | more
Estructura de comandos
![](https://assets.isu.pub/document-structure/230817220714-ba0a1076bcaa078606d090ee56acd42f/v1/3f9be7fae11daa53f9464f6eb6202bea.jpeg)
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
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
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
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).
Docker hub
◼ Docker Hubes 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 repositoriosprivadosdeimágenesdecontenedores.
◼ Imágenes oficiales: extraiga y use imágenes de contenedoresdealtacalidadproporcionadasporDocker.
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 compatibilidadconDockerEnterprise.
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
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.
¿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.
¿Qué es Docker Compose?
◼Compose funciona en todos los entornos: producción, puesta en escena, desarrollo, pruebas, así como flujos de trabajo deCI.
¿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 juntosenunentornoaislado.
2. Ejecutardocker-compose up y Compose inicia y ejecutatodasuaplicación.
Instalando Docker Compose
1.
2.
https://docs.docker.com/compose/install/
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
Vista a futuro...
Orquestación
![](https://assets.isu.pub/document-structure/230817220714-ba0a1076bcaa078606d090ee56acd42f/v1/27ab457c85f39dea1629dc5740b7711e.jpeg)
de contenedores con Kubernetes
![](https://assets.isu.pub/document-structure/230817220714-ba0a1076bcaa078606d090ee56acd42f/v1/66c299b2c25333f80802a8c8f13702eb.jpeg)
Disponible en Leanpub y Amazon
FTIhHDGp0Jx6
![](https://assets.isu.pub/document-structure/230817220714-ba0a1076bcaa078606d090ee56acd42f/v1/5c1879f79890e6e78714556c0c298103.jpeg)
Meetup
![](https://assets.isu.pub/document-structure/230817220714-ba0a1076bcaa078606d090ee56acd42f/v1/5b6dd9aa20eb5bcbb731a39e6efecad6.jpeg)
¡ GRACIAS !
![](https://assets.isu.pub/document-structure/230817220714-ba0a1076bcaa078606d090ee56acd42f/v1/8f64020629c16fd72f02ef7263c1a31f.jpeg)
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-doc ker-con-loadview/
◼ https://levelup.gitconnected.com/the-state-of-virtual-machines-in-2020-22f5d6c8a40 d
http://desarrollo-de-soft.com.ar/que-es-un-ciclo-de-vida-de-desarrollo-de-software/