Docker es una herramienta popular en DevOps "Desarrollo rápido de software":
Docker es:
- Una herramienta para empaquetar software en contenedores.
- Open Source.
- No es la única solución, pero sí “es la mejor”; existe
Puppet
,Vagrant
,Ansible
, etc.
Docker, permite meter en un contenedor (“una caja”) todas aquellas cosas que una aplicación necesita para ser ejecutada.
- sistema operativo,
- base de datos,
- servidores,
- librerías y
- código.
Teniendo Docker instalado se puede ejecutar cualquier aplicación a través del contenedor; independientemente del SO o las características de la computadora.
Docker es una bendición para los desarrolladores; hace que puedan concentrarse en construir su aplicación, sin preocuparse en los problemas de llevar el software de un equipo a otro.
¿y esto no es lo mismo que una máquina virtual?
El concepto de portabilidad de un contenedor de Docker es algo similar a la máquina virtual de Java, pero un contenedor no es lo mismo que una máquina virtual.
Los dos elementos más básicos de Docker son las imágenes y los contenedores.
Imagenes
Una imagen es una especie de plantilla para crear un contenedor, o instantánea de un contenedor.
Por ejemplo: una imagen podría contener un sistema operativo Ubuntu con un servidor Apache instalado.
Normalmente cuando creas imágenes, partimos de una imagen padre a la que le vamos añadiendo cosas
Por ejemplo: podríamos modificar la imagen anterior para instalar nuestra aplicación web.
Las imágenes se identifican por un ID y un par nombre:versión(o TAG), por ejemplo: ubuntu:latest, django:1.6, etc.
Buscando imágenes de Docker
Todo el mundo puede crear imágenes y subirlas a Docker Hub para los demás la descarguen y usen. Así que en Docker Hub
podemos encontrar muchas de imágenes de terceros, pero generalmente, es recomendable instalar sólo las imágenes oficiales.
Para descargar la imagen de Ubuntu 15.04, debemos ejecutar:
# docker pull ubuntu:15.04
Para obtener ver un listado de todas las imágenes que hemos descargado, debemos de ejecutar:
# docker images
Para crear un contenedor de la imagen, se usa el comando run:
Docker Compose
Docker Compose es una herramienta para ejecutar aplicaciones de varios contenedores en Docker.
Un archivo ‘ComposeFile’> se utiliza para definir cómo se configuran los contenedores que componen la aplicación.
Una vez que tenga el archivo ‘Compose’>, se puede crear e iniciar su aplicación con un solo comando:
docker-compose up
Docker Compose se incluye en la aplicación
Docker Desktop
para Windows y macOS.
Alojamiento de Docker
Aquí hay una lista de las plataformas que permiten administrar e implementar fácilmente contenedores Docker. Cada una, con funciones que simplifican las implementaciones de contenedores, para descargar los dolores de cabeza del hosting al experto.