Docker en Debian Jessie

Por suerte la comunidad de usuarios de habla hispana, del mundo del software libre, es muy grande. Cada mañana leo sus estupendos artículos sobre las novedades del momento. Ayer mismo leí en la web de Jsitech, que por cierto os recomiendo, que Docker, el famoso sistema de despliegue de contenedores, ha cumplido tres años. Hace ya más de un año que hablé en un artículo introductorio sobre este fabuloso producto. Desde entonces ha llovido mucho, así que voy a retomar un poco el asunto, y os voy hablar de como utilizar Docker, en concreto en sistemas GNU Linux con Debian.

Docker-logo-011

Docker en Debian Jessie

No es la primera que trato este tema, también elaboré un artículo en colaboración con la comunidad de IEBS, llamado «Empezando a trabajar con Docker«, que podéis consultar. Pero vamos un poco al lío, para el artículo he utilizado la última versión estable de Debian, la 8, llamada «Jessie» El sistema en cuestión es compatible con la versiones del kernel a partir de la 3.1, por lo que, en el caso de Debian, sólo se puede utilizar a partir de la versión 7.7 o «Wheezy» Podemos comprobar la versión con el siguiente comando:

  1. uname -r

Sólo es compatible con sistemas de 64 bits, por lo que debemos utilizar esas versiones.

El primer paso es purgar los repositorios antiguos:

  1. apt-get purge lxc-docker*
  2. apt-get purge docker.io*

Actualizamos los repositorios e instalamos el paquete para trabajar con HTTPS y los certificados CA.

  1. apt-get update
  2. apt-get install apt-transport-https ca-certificates

Importamos la llave del repositorio:

  1. apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D

En el siguiente paso editamos el fichero /etc/apt/sources.list/docker.list, si no existe lo creamos.

  1. nano /etc/apt/sources.list/docker.list

Al editar eliminamos sus entradas, si existen, y añadimos las siguientes:

  1. deb https://apt.dockerproject.org/repo debian-jessie main

Guardamos y volver a actualizar repositorios con apt-get -y update.

Verificamos que APT apunte al repositorio correcto:

  1. apt-cache policy docker-engine

Instalación de Docker

Vamos con la parte de la instalación, con el siguiente comando:

  1. sudo apt-get install docker-engine

Una vez instalado ya podemos iniciar el demonio:

  1. sudo service docker start

Verificamos que efectivamente está funcionando:

  1. sudo docker run hello-world

El comando descargará una imagen de test y arrancará el container. Cuando esté funcionando se encargará de mostrar el mensaje informativo.

Para trabajar comodamente se nos recomienda que añadamos nuestro usuario al grupo ‘docker

  1. sudo usermod -aG docker davidochobits

Con esto ya lo tenemos listo, pero vamos a ver un poco más.

Trabajar con imágenes

Vale todo muy bonito, pero ¿Dónde encuentro imágenes? Realmente la respueseta es muy sencilla, el propio proyecto nos ofrece la web DockerHub, desde donde podemos descargar imágenes creadas por la comunidad o por empresas, como RedHat, IBM o Google.

Imágenes disponibles en DockerHub

Repositorios oficiales en DockerHub

A modo de ejemplo vamos a utilizar la imagen del motor de base de datos libre MariaDB.

dockerhub-imagen-mariadb

La propia página de la imágen nos dará diversa información, entre la que se encuentra las instrucciones para la descarga y la puesta en marcha.

Iniciar la instancia sería bastante sencillo con el comando:

  1. docker run --name nombre-mariadb -e MYSQL_ROOT_PASSWORD=mi-clave-secreta -d mariadb:tag

Otro comando interesante y que nos permite ver las imágenes descargadas en nuestro servidor es el siguiente:

  1. docker images

Para que nos muestre sólo los contenedores iniciados:

  1. docker ps

Para iniciar una imagen:

  1. docker start nombre-imagen

Para pararla:

  1. docker stop nombre-imagen

Volviendo al artículo de Jason Soto en su web Jsitech. Nos comenta que Docker está celebrando su tercera aniversario con una serie de jornadas en todo el mundo, organizada por diferentes partners, para principiantes.  La lista es bastante extensa, y la podéis consultar aquí. En Barcelona, la ciudad donde resido, también se organizarán unas jornadas. También os recomiendo el documento elaborado por Jason, muy didáctico, ideal para principiantes, aquí. El compa Zagurito, en su web portalinux.es, también habló de Docker en Debian recientemente.

Toda la información sobre el producto y diferentes tutoriales se pueden encontrar en la página oficial de Docker.

Espero que os haya resultando interesante, como siempre se agradece cualquier comentario al respecto y no olvidéis compartir el artículo en vuestras redes sociales. Nos leemos en la próxima.