Comienzo Rápido para trabajar con Docker para Desarrolladores Node.js (Usuarios para Mac y Windows)

La idea detrás de Docker es crear contenedores ligeros y portables para las aplicaciones software que puedan ejecutarse en cualquier máquina con Docker instalado, independientemente del sistema operativo que la máquina tenga por debajo, facilitando así también los despliegues. Docker, me permite meter en un contenedor (“una caja”, algo auto contenido, cerrado) todas aquellas cosas que mi aplicación necesita para ser ejecutada (java, Maven, tomcat…) y la propia aplicación. Así yo me puedo llevar ese contenedor a cualquier máquina que tenga instalado Docker y ejecutar la aplicación sin tener que hacer nada más, ni preocuparme de qué versiones de software tiene instalada esa máquina, de si tiene los elementos necesarios para que funcione mi aplicación , de si son compatibles, etc. Yo ejecutaré mi aplicación software desde el contenedor de Docker, y dentro de él estarán todas las librerías y cosas que necesita dicha aplicación para funcionar correctamente. Empecemos Instalar Docker Toolbox Para Mac y Windows solo debes instalar Docker Toolbox o https://docs.docker.com/toolbox/toolbox install mac/, el te proveera lo que necesitas para empezar: Máquina Docker - para crear hosts Docker ("maquinas") Cliente Docker - para comunicarte con hosts Docker VirtualBox - para crear hosts Docker basados en Linux (boot2docker) máquina virtual Una vez instalado el Docker Toolbox puedes ejecutar la consola Docker Quickstart Terminal el cual te creará una máquina virtual basado en Linux. Para corroborar una vez inicializada la consola puedes ejecutar el siguiente comando: docker-machine ls y te mostrará algo como: NAME ACTIVE DRIVER STATE URL SWARM DOCKER default * virtualbox Running tcp://192.168.99.100:2376 v17.12.1-ce ¿Ahora que? Una vez en la consola puedes dirigirte a la carpeta de tu aplicación node y ejecutar el comando: npm run dev ó npm run start según como tengas configurado tu package.json Hay mas informacion aqui tambien: https://blog.flybase.io/2015/12/09/docker-intro-for-node-developers/