SlideShare una empresa de Scribd logo
Docker orientado al
desarrollo de aplicaciones
con NodeJS
Jan Sanchez
NodeJS
¿Qué es NodeJS?
Node.js es un entorno Javascript del lado del servidor, basado en eventos.
Node ejecuta javascript utilizando el motor V8, desarrollado por Google.
El motor V8 le permite a Node proporcionar un entorno de ejecución del lado
del servidor que compila y ejecuta javascript a gran velocidad.
Ejemplos de Aplicaciones en NodeJS
- Un servidor web basado en Express.js
- Un pequeño API REST
- Una paquete o librería independiente
- Una Aplicación de escritorio (con Electron.io)
- Una Aplicación Móvil (con React Native)
- Un Webhook
Problemas comunes
desarrollando con NodeJS
Qué pasa ¿Si tenemos
diferentes equipos de
desarrollo?
O ¿Si las Apps se
desarrollaron en distinto
tiempo?
Es muy probable que tengamos versiones
diferentes de NodeJS
Docker orientado al desarrollo de aplicaciones con NodeJS
Administrando Servicios en tiempo de Desarrollo
- ¿Cómo administramos todas estas versiones de Node?
nvm? n? nvm-windows? nodist?
- ¿Cómo podemos poner en marcha múltiples servicios a la vez?
multiples npm scripts? pm2? bash script? tmux?
- ¿Cómo manejamos dependencias como bases de datos?
¿manualmente?
Docker orientado al desarrollo de aplicaciones con NodeJS
Docker orientado al desarrollo de aplicaciones con NodeJS
¿Qué es Docker?
Docker es una plataforma que facilita la configuración, creación, despliegue
y ejecución de aplicaciones en containers*
Funciona agregando una capa de abstracción y automatización de la
virtualización a nivel de sistema operativo.
* Docker hace mucho más que eso, pero eso es contenido de otra charla.
Surge la primera duda...
¿Cuál es la diferencia
entre Docker y una Virtual
Machine?
Docker orientado al desarrollo de aplicaciones con NodeJS
Docker orientado al desarrollo de aplicaciones con NodeJS
Imagen
Una imagen es una colección ordenada de cambios en el sistema de archivos
raíz y sus correspondientes parámetros de ejecución, para ser utilizados cuando
se instancie un container.
Container
Un container es la instancia en el tiempo de ejecución de una imagen Docker.
Un container de Docker se compone de:
- Una imagen Docker
- Un entorno de ejecución
- Un conjunto de instrucciones estándar
Imágenes Docker
+ Demo
- Crear
- Correr
Dockerfile
FROM mysql:5.7
Docker build
docker build -t lucydb .
-t = tag name
Docker images
docker images
Lista todas las imágenes
Docker run
docker run --rm -it lucydb bash
--name = nombre de la bd
-p = puerto cliente:puerto server
-d = correr en background mode
-e = especificar una variable de entorno
Mysql
mysql --version
Hasta ahora docker
funciona bien con un
servicio pero...
Docker orientado al desarrollo de aplicaciones con NodeJS
¿Cómo escala Docker si
quiero usar varios
servicios?
Docker orientado al desarrollo de aplicaciones con NodeJS
Docker Compose
Docker Compose
Docker compose es una herramienta para definir y ejecutar aplicaciones
multi-container.
Con un simple archivo YAML, ejecutado por un único comando, indicamos
cómo crear, ejecutar y detener nuestras aplicaciones.
¿Qué es lo que hace Docker Compose?
- Ejecuta múltiples contenedores con un solo comando
- Nos ayuda a definir ambientes de desarrollo en un archivo yaml
- Enlaza contenedores fácilmente
- Construye y ejecuta contenedores en un solo paso
docker-compose.yml
Docker-compose
.yml
Docker orientado al desarrollo de aplicaciones con NodeJS
¿Cómo se comunican
los containers?
Docker orientado al desarrollo de aplicaciones con NodeJS
docker-compose up
docker-compose up
docker-compose down
docker-compose down
docker-compose run
docker-compose run --rm app bash
Donde app es el
nombre de mi servicio
docker-compose exec
docker-compose exec app bash
Docker Compose
+ Demo
frontendlabs.io
Docker Compose
+ Demo
nocker
¿Por qué usar Docker?
- Es multiplataforma
- Mac, Windows, Linux
- Administra fácilmente las versiones de NodeJS
- Ejecuta y conecta muchos servicios con Docker Compose
- Permite administrar múltiples bases de datos con la misma herramienta
- Necesita muy pocos cambios en la configuración para poder usarlo en
producción
Resumiendo...
Docker orientado al desarrollo de aplicaciones con NodeJS
Docker Compose
+ Demo
Speed
Docker Compose
+ Demo
StarCraft
Enlaces de interés
- Docker Hub - Node: https://hub.docker.com/_/node/
- Docker Hub - Mysql: https://hub.docker.com/_/mysql/
- Docker and Node.js Best Practices: https://goo.gl/57oD5b
- Docker compose: https://docs.docker.com/compose/overview/
- Consejos sobre Node.js en Producción: https://goo.gl/a5JZn5
- Yarn: https://goo.gl/rVuGKY
- ¿Cómo usar nocker-wheezy?: https://youtu.be/8KwZsF7bcfo
- React.js and Docker: https://goo.gl/h5nkLc
- ¿Como funciona Node.js?: https://goo.gl/fYidMx
Enlaces de interés
- Docker - Baby Steps: https://goo.gl/nFKy27
- Node + Docker = Nocker: https://goo.gl/xxGJlL (estos slides :) )
- Docker Hub Microsoft: https://hub.docker.com/u/microsoft/
- Dockerfiles muy Pros: https://github.com/jessfraz/dockerfiles
- Mi Github: https://github.com/jansanchez
Muchas gracias!!!
@jansanchez
Docker orientado al desarrollo de aplicaciones con NodeJS

Más contenido relacionado

PDF
Docker meetup :: Kubernetes en Restorando
PDF
Docker - Sysmana 2014
PPTX
Presentación Docker
PPTX
Docker como la máxima expresión de Devops - WISIT 2015
PDF
BEEVA | Introducción a Docker
PPTX
Introducción a Docker
PDF
Fury - Docker Meetup
PPTX
Usando docker
Docker meetup :: Kubernetes en Restorando
Docker - Sysmana 2014
Presentación Docker
Docker como la máxima expresión de Devops - WISIT 2015
BEEVA | Introducción a Docker
Introducción a Docker
Fury - Docker Meetup
Usando docker

La actualidad más candente (20)

PDF
Introducción a Docker
PDF
nerdear.la 2016 - Docker workshop
PDF
Docker introducción - Flisol 2015 Huancayo
PDF
Docker: la revolución en virtualización
PDF
Docker desde cero
ODP
Solapas principales Ver(solapa activa) Editar Gestionar present...
PDF
Kubernetes technical overview and our experience at Restorando :: Buenos Aire...
PDF
Conceptos avanzados en docker
PDF
Seminario CLEFormacion-docker
PDF
Introduction to docker. Stratio
PPTX
Presentación Docker
PDF
Kubernetes: Caso de uso real con mememtum y Taniwa
PDF
DevOps+[Chef/Docker]
PDF
FROM lost to the docker
PPTX
Docker containers-itb-2021
PDF
Divide y vencerás con docker y core os
PDF
Docker y PostgreSQL
PDF
Introducción a Docker
PDF
Vagrant y Docker - Guía práctica de uso
PPTX
Devops episodio 1. devOpsTnf
Introducción a Docker
nerdear.la 2016 - Docker workshop
Docker introducción - Flisol 2015 Huancayo
Docker: la revolución en virtualización
Docker desde cero
Solapas principales Ver(solapa activa) Editar Gestionar present...
Kubernetes technical overview and our experience at Restorando :: Buenos Aire...
Conceptos avanzados en docker
Seminario CLEFormacion-docker
Introduction to docker. Stratio
Presentación Docker
Kubernetes: Caso de uso real con mememtum y Taniwa
DevOps+[Chef/Docker]
FROM lost to the docker
Docker containers-itb-2021
Divide y vencerás con docker y core os
Docker y PostgreSQL
Introducción a Docker
Vagrant y Docker - Guía práctica de uso
Devops episodio 1. devOpsTnf
Publicidad

Similar a Docker orientado al desarrollo de aplicaciones con NodeJS (20)

PDF
Docker - Entorno de trabajo configurado en 1 minuto [WCBilbao]
PDF
Taller girona
PPTX
Game of pods - Kubernetes
PDF
Dockerparadesarrollo
PPTX
Jug málaga docker 101 - final
PPTX
Microservices: Ya funciona en mi máquina… Y en producción, ¿qué?
PDF
WordPress, Nginx, Ghost y Telegram con Docker - I Meetup Docker Córdoba - Quaip
PDF
Docker en el entorno de desarrollo
PDF
Docker 101 Workshop - WomenWhoCode Buenos Aires
PDF
Pruebas de integración con Docker en Azure DevOps
PPTX
Docker y kubernetes para desarrolladores .NET - Meetup Barcelona 2019
PDF
Docker and networking
PDF
Dockers y wp
PDF
Jenkins Peru Meetup Docker Ecosystem
PPTX
administracion de sistemas de informacion
PDF
Curso Kubernetes CodeURJC
PPTX
Meetup V.E.No.M. y docker
PPTX
FROM lost to the Docker 2020
PDF
De desarrollo a producción usando docker
PDF
Curso gratuito de Docker
Docker - Entorno de trabajo configurado en 1 minuto [WCBilbao]
Taller girona
Game of pods - Kubernetes
Dockerparadesarrollo
Jug málaga docker 101 - final
Microservices: Ya funciona en mi máquina… Y en producción, ¿qué?
WordPress, Nginx, Ghost y Telegram con Docker - I Meetup Docker Córdoba - Quaip
Docker en el entorno de desarrollo
Docker 101 Workshop - WomenWhoCode Buenos Aires
Pruebas de integración con Docker en Azure DevOps
Docker y kubernetes para desarrolladores .NET - Meetup Barcelona 2019
Docker and networking
Dockers y wp
Jenkins Peru Meetup Docker Ecosystem
administracion de sistemas de informacion
Curso Kubernetes CodeURJC
Meetup V.E.No.M. y docker
FROM lost to the Docker 2020
De desarrollo a producción usando docker
Curso gratuito de Docker
Publicidad

Último (11)

PPTX
Presentación de un estudio de empresa pp
PDF
Herramientaa de google google keep, maps.pdf
PPT
laser seguridad a la salud humana de piel y vision en laser clase 4
PPTX
tema-2-interes-.pptx44444444444444444444
PPTX
presentacion_energias_renovables_renovable_.pptx
PPTX
Guia de power bi de cero a avanzado detallado
PDF
Mesopotamia y Egipto.pptx.pdf historia universal
PDF
[Ebook gratuito] Introducción a la IA Generativa, Instalación y Configuración...
PPTX
FUNCIONES DE CLASSROOM EN EL FUNCIONAMIENTO ESCOLAR
PDF
CAPACITACIÓN MIPIG - MODELO INTEGRADO DE PLANEACIÓN Y GESTIÓN
PDF
Frases de Fidel Castro. Compilación Norelys Morales Aguilera
Presentación de un estudio de empresa pp
Herramientaa de google google keep, maps.pdf
laser seguridad a la salud humana de piel y vision en laser clase 4
tema-2-interes-.pptx44444444444444444444
presentacion_energias_renovables_renovable_.pptx
Guia de power bi de cero a avanzado detallado
Mesopotamia y Egipto.pptx.pdf historia universal
[Ebook gratuito] Introducción a la IA Generativa, Instalación y Configuración...
FUNCIONES DE CLASSROOM EN EL FUNCIONAMIENTO ESCOLAR
CAPACITACIÓN MIPIG - MODELO INTEGRADO DE PLANEACIÓN Y GESTIÓN
Frases de Fidel Castro. Compilación Norelys Morales Aguilera

Docker orientado al desarrollo de aplicaciones con NodeJS