que automatiza el despliegue de aplicaciones dentro de contenedores de software, proporcionando una capa adicional de abstracción y automatización de Virtualización a nivel de sistema operativo en Linux. Docker utiliza características de aislamiento de recursos del kernel Linux, tales como cgroups (control de grupos) y namespaces (espacios de nombres) para permitir que "contenedores" independientes se ejecuten dentro de una sola instancia de Linux, evitando la sobrecarga de iniciar y mantener máquinas virtuales.
de contenedores que trabajan en forma aislada del sistema operativo host, con la posibilidad de interactuar entre ellos de manera organizada. Podemos crear nuestros propios contenedores y subirlos a un repositorio
portables, por lo que podemos llevarlos fácilmente a cualquier otro equipo con Docker sin tener que volver a configurar nada. Rapidez - se pueden apagar e iniciar contenedores en cuestión de segundos Los desarrolladores pueden programar y testear su código en el mismo ambiente que el utilizado en producción Garantiza que el software siempre correrá de igual forma sin importar el sistema operativo host
(no nativo) - Windows 7/ MacOs 10.8 superior Docker for (Windows/Mac) - Corre una aplicacion nativa (para virtualizar Docker Engine) - Windows 10 / MacOS 10.10.3 o superior.
Docker - Permite escribir instrucciones a ejecutar - Automatiza el proceso de creacion de imagenes FROM Configura la imagen base para usar MAINTAINER Establece los datos de autor/propietario del archivo Dockerfile USER Establece el usuario para ejecutar los contenedores de la imagen RUN Ejecuta comandos en el contenedor VOLUMEN Monta un directorio desde el host al contenedor WORKDIR Establece el directorio para las directivas de CMD que se ejecutarán ADD Copia un archivo desde el host en el contenedor CMD Configura comandos por defecto para ser ejecutado ENTRYPOINT Ajusta el punto de entrada por defecto de la aplicación ENV Inicializa variables de entorno (“clave=valor”) EXPOSE Expone un puerto al exterior
por múltiples contenedores. La arquitectura se define y se configura en un archivo de texto (YAML o YML) docker-compose.yml Con comandos simples se puede iniciar o detener contenedores