Cómo instalar Docker en Linux Ubuntu (proceso idéntico para otras distribuciones de Linux como Debian) y cómo descargar, desplegar y ejecutar la imagen «hello-word» de pruebas. Mostramos los contenedores en ejecución, los detenemos y los eliminamos. Ejecutamos un contenedor de un sitio web estático simple para mostrar el «mapeo» de puertos de Docker.

Qué es Docker

Docker es un proyecto de código abierto que automatiza el despliegue de aplicaciones dentro de contenedores de software. Proporciona una capa adicional de abstracción y automatización de virtualización de aplicaciones en múltiples sistemas operativos.

Docker utiliza características de aislamiento de recursos del kernel Linux, tales como cgroups y espacios de nombres (namespaces) para permitir que los contenedores independientes se ejecuten dentro de una sola instancia de Linux, evitando la sobrecarga de iniciar y mantener máquinas virtuales.​

Docker es una herramienta que puede empaquetar una aplicación y sus dependencias en un contenedor virtual que se puede ejecutar en cualquier servidor Linux. Esto ayuda a permitir la flexibilidad y portabilidad en donde la aplicación se puede ejecutar, ya sea en las instalaciones físicas, la nube pública, nube privada, etc.

Instalar Docker en Linux Ubuntu

En primer lugar ejecutaremos el siguiente comando para actualizar la lista de paquetes disponibles y sus versiones en Linux Debian:

Ejecutaremos el siguiente comando para instalar los paquetes dependientes que necesitará Docker:

Instalar Docker en Linux Ubuntu

Agregaremos las GPG key de Docker:

Agregamos un repositorio estable (stable) de Docker con el comando:

Instalar Docker en Linux Ubuntu

Volvemos a ejecutar el siguiente comando para actualizar versiones de paquetes, es necesario volver a ejecutarlo para que se agreguen y actualicen los nuevos paquetes del repositorio de Docker agregado anteriormente:

Instalamos Docker con el comando:

Instalar Docker en Linux Ubuntu

Se iniciará la instalación de Docker:

Instalar Docker en Linux Ubuntu

Ejecutando imagen «Hola mundo» en Docker para verificar que se ha instalado correctamente

Ejecutaremos el siguiente comando, que la primera vez que lo ejecutamos detectará que la imagen «hello-world» no está instalada en Docker, por lo que la descargará y desplegará. Tras descargarla y desplegarla la ejecutará:

Si lo volvemos a ejecutar una segunda vez, ejecutará la imagen directamente dado que ya está descargada y desplegada:

Ejecutando imagen "Hola mundo" en Docker para verificar que se ha instalado correctamente

Nos mostrará el siguiente texto, indicando que en la primera ejecución no lo encuentra y lo descarga e instala y ejecuta. En la segunda ejecución, como ya está instalado, sólo lo ejecuta:

Ejecutar imagen de sitio web estático en Docker y acceso externo

Ejecutaremos el siguiente comando para instalar la imagen «static-site», que como siempre en Docker, si no la encuentra en local la descargará e instalará:

En el caso de la imagen «static-site», necesita ejecutarse en modo separado, por ello hemos usado el comando -d. Este es un requisito de esta imagen de ejemplo.

Para ver los puertos levantados al levantar esta imagen, ejecutaremos el comando:

Que nos devuelve:

Ejecutar imagen de sitio web estático en Docker y acceso externo

Por lo tanto ya tenemos iniciado el contenedor de sitio web estático en local, si queremos acceder desde local podemos ejecutar el comando:

El puerto 49158 es el que el Docker ha asignado al equivalente al 80 en el contenedor del static-site.

Nos devolverá el contenido del fichero index del sitio web estático del contenedor del Docker:

Ejecutar imagen de sitio web estático en Docker y acceso externo

Si queremos acceder al servidor web del contenedor del Docker desde un equipo externo, podemos ejecutar el contenedor con este comando, para mapear los puertos:

El comando anterior supone que no existe la imagen «static-site», en caso de existir en Docker, renombraremos la imagen a ejecutar, por ejemplo a static-site-2.

Listar, detener y eliminar contenedores iniciados en Docker

Para mostrar un listado de todos los contenedores iniciados en Docker ejecutaremos el comando:

Que nos devolverá algo así:

Listar, detener y eliminar contenedores iniciados en Docker

En nuestro entorno de Docker, tenemos en ejecución el contenedor con ID 9f6a36b477d4. Si queremos detenerlo ejecutaremos el comando:

Y si queremos eliminarlo completamente ejecutaremos:

Listar, detener y eliminar contenedores iniciados en Docker