Antes de instalar Dockers nos vienen a la cabeza varias preguntas:

  • ¿Porque Dockers y no otros?
  • ¿Que sistema operativo (SO) del host anfitrión es mejor utilizar?
  • Que versiones existen de Dockers?

Realmente la parición de Docker (2013) surgió como necesidad de ejecutar contenedores Linux (LXC) y ya en 2014 apareció su mayor competidor CoreOS rkt.

Aunque la priemras versiones de Docker adolecian de problemas de seguridad sovnetados por CoreOS: Además, CoreOS era interoperable que varias plataformas como RedHat, CentOS, etc.

Hoy en día Docker a tomado una gran ventaja y es totalmente inoperable, ha mejorado sus ejecuciones como «root» dentro del contenedor (de estos e tratará en otra entrada) y, sobre todo, ha sabido expandirse por los grandes mercado con lo que su cuota de uso, aceptación y oferta de imágenes es inmensa.

Así pues parece que la ventaja es de Docker sobre CoreOS y por ello hemos seleccionado dicho producto. No obstante, se realizará una entrada sobre CoreOS mas adelante.

En cuanto al sistema operativo a utilizar la respuesta es obvia. Uno basado en GNU/Linux debido a que la inmensa mayoría de las imágenes son solucione gratuitas y que en el caso de sistemas propietarios como Windows o iOS no están tan desarrollados. No obstante el mundo Linux es mas de «consola o CLI» que los mencionados anteriormente.

Por último nos queda elegir la versión de Docker a elegir. Actualmente docker dispone de la version EE (Enterprise Edition) que es de pago y CE (Community Edition). Dentro de esta ultima existen versiones estables y de pruebas .

La ventaja de Docker EE es que nos proporcionan una interface web de gestión (Docker Universal Control Plane -UCP-), alta disponibilidad (HA), contenido certificado, manejo privado de imágenes y soporte técnico.

Imagen del panel de UCP

Con Docker CE podemos obtener casi todo lo anterior excepto (lógicamente) el tema del soporte técnico. Eso si, la instalación y configuración es lago mas compleja. Con el comando docker version veremos lo que tenemos en nuestro host anfitrión instalado.

Por último, Docker también ofrece otro producto llamado “Docker Machine” que nos ayuda, a través de scripts, a facilitar el proceso de tener servidores distribuidos con el producto Docker. 

Instalación de Docker CE

Despues de todas las explicaciones nateriores vamos a realizar una instalacion de Docker CE sobre Ubuntu 18.04. para ello seguiremos los siguientes pasos:

  • Muy importante actualizar nuestra lista de repositorios con: sudo apt update
  • Luego realizaremos una istalacion de paquetes relacionados con https. Aqui queria comentar que la comunicacion de nuestro Docker engine (una vez que lo tengamos instalado) con Docker Hub es a traves del puerto 443 (protocolo https) de ahí que necesitemos asegurarnos de disponer de los paquetes de https necesarios con: sudo apt install apt-transport-https ca-certificates curl software-properties-common
  • El siguiente paso es obtener la «llave» valida para el Docker Hub y la guardaremos en nuestro host anfitrión con: curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add –
  • Ahora añadiremos el repositorio necesario para instalar Docker CE para nuestro sistema operativo (en este caso Ubuntu 18.04) con: sudo add-apt-repository «deb [arch=amd64] https://download.docker.com/linux/ubuntu bionic stable»
  • Volvemos a actualizar nuestra lista de repositorios con: sudo apt update
  • Ahora ya podemos instalar Docker CE con: sudo apt install docker-ce
  • Para comprobar como esta la version Docker instalada podemos velo con: sudo systemctl status docker y el resultado obtenido es el de la siguiente imagen.
Salida del comando sudo systemctl status docker

Para comprobar que todo ha ido bien deberíamos descargarnos nuestra primera imagen y ejecutarla con sudo docker run hello-world. EN la siguiente imagen vemos el resultado de la ejecución de dicho comando.

Ejecución de mi primer contenedor «hello-world»