Paso a paso para instalar el Docker Engine en una instalacion de Ubuntu Server 16.04 LTS. Docker, es una plataforma que utiliza contenedores una nueva forma de empaquetar aplicaciones. Los contenedores son un método de virtualización del sistema operativo que le permiten ejecutar una aplicación y sus dependencias en procesos de recursos aislados; también permite empaquetar el código de una aplicación, su configuración y dependencias en bloques uniformes de forma que permite que la aplicación funcione de la misma manera en cualquier servidor ya que lleva incluido las librerías, archivos y configuraciones necesarias para que funcione adecuadamente.
Instalación de Docker Engine en Ubuntu Server 16.04 LTS
1. Autor: José Antonio Carrasco Moreno – joseacarras@josecarrasco.com
Instalación de Docker Engine en Ubuntu 16.04
Introducción:
Dentro del mundo de la administración eficiente de servidores hace una década más o
menos se lanzó el concepto de la virtualización de servidores o máquinas virtuales. Una
máquina virtual como su nombre lo indica empaqueta dentro de un archivo, una imagen
de una maquina real, con definición de hardware propio y su propio sistema operativo.
1
Descripción grafica de una máquina virtual
Esta máquina virtual se ejecuta dentro de un sistema operativo especial que actúa como
anfitrión de la máquina virtual. Este sistema permite que se ejecuten dentro de una sola
PC física, n cantidad de máquinas virtuales, limitado solamente por los recursos de la
maquina anfitrión.
En los últimos años se está impulsando un modelo nuevo basado en el concepto de la
virtualización pero llevado de una forma más eficiente y es la ejecución de imágenes o
contenedores.
Docker, es una plataforma que utiliza contenedores una nueva forma de empaquetar
aplicaciones. Los contenedores son un método de virtualización del sistema operativo
1 Imagen tomada de https://oracle-base.com/articles/vm/images/virtual-insanity/vm.jpg
2. Autor: José Antonio Carrasco Moreno – joseacarras@josecarrasco.com
que le permiten ejecutar una aplicación y sus dependencias en procesos de recursos
aislados; también permite empaquetar el código de una aplicación, su configuración y
dependencias en bloques uniformes de forma que permite que la aplicación funcione de
la misma manera en cualquier servidor ya que lleva incluido las librerías, archivos y
configuraciones necesarias para que funcione adecuadamente.
Comparación de Contenedores y Máquinas Virtuales2
Si comparamos la imagen superior podemos apreciar que cada máquina virtual
empaqueta su sistema operativo lo que representa una carga adicional de espacio físico
y memoria RAM en el equipo anfitrión. En contraste los contenedores de Docker
solamente utilizan las aplicaciones y librerías que requieren para funcionar, compartiendo
entre todos el sistema operativo base y administrados por el motor de Docker.
Para efectos de este documento estaremos instalando el Docker sobre el servidor
Ubuntu 16.04 LTS con la instalación por defecto. Para las conexiones estaremos usando
el cliente SSH para sistemas operativos Windows Tunnelier, que se puede descargar en
https://www.bitvise.com/ssh-client-download.
2 Imagen tomada desde https://imgur.com/MJHfm1c
3. Autor: José Antonio Carrasco Moreno – joseacarras@josecarrasco.com
En este artículo se asume que el lector conoce como conectarse remotamente al servidor
mediante SSH por lo que obviamos esa parte.
1. Actualización del sistema operativo Ubuntu:
Para actualizar el sistema operativo Ubuntu debemos ejecutar los siguientes
comandos
apt-get update
4. Autor: José Antonio Carrasco Moreno – joseacarras@josecarrasco.com
Este comando actualiza la lista de paquetes disponibles y sus versiones, pero no
instala o actualiza ningún paquete. Esta lista la recibe de los servidores con
repositorios que tenemos definidos en el archivo /etc/apt/sources.list.
Después de ejecutado el comando anterior, se ejecuta el siguiente comando
apt-get upgrade
Este comando instala las nuevas versiones los paquetes disponibles en la lista
definida en /etc/apt/sources.list.
Docker es parte de las aplicaciones oficiales que se pueden encontrar dentro de los
repositorios oficiales de Ubuntu, pero debido al rápido avance en el desarrollo de la
aplicación es casi seguro que estas versiones no sean las ultimas disponibles. Aquí
usaremos la última versión disponible al momento de escribir este artículo.
2. Importar la llave del repositorio oficial de Docker a Ubuntu
Primero se agrega la llave GPG del repositorio oficial de Docker
sudo apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys
58118E89F3A912897C070ADBF76221572C52609D
Si se ejecuta correctamente el comando deberá aparecer en la línea final “imported:
1”.
5. Autor: José Antonio Carrasco Moreno – joseacarras@josecarrasco.com
3. Agregar el repositorio oficial de Docker a Ubuntu a las fuentes de APT
Para adicionar el repositorio oficial de Docker a nuestro sistema Ubuntu debemos
ejecutar el siguiente comando:
sudo apt-add-repository 'deb https://apt.dockerproject.org/repo ubuntu-xenial
main'
Después de ejecutado este comando no se presenta ningún mensaje especial o
adicional. Como los repositorios de Docker utilizan el protocolo HTTPS se debe agregar
esta opción al Ubuntu antes de actualizar las fuentes. Esto se hace con el comando:
sudo apt-get install apt-transport-https
Luego hay que actualizar las bases de datos de APT con los nuevos paquetes de Docker.
sudo apt-get update
Para asegurarse que se instalarán los paquetes de Docker de los repositorios oficiales
de Docker y no los de Ubuntu se ejecuta el siguiente comando:
apt-cache policy docker-engine
6. Autor: José Antonio Carrasco Moreno – joseacarras@josecarrasco.com
Después de ejecutado el comando aparecerá un listado de versiones de paquetes de
Docker ocupando la última versión el primer lugar de la lista.
4. Instalación del motor de Docker:
Para finalizar la instalación se ejecuta el siguiente comando:
sudo apt-get install -y docker-engine
Para verificar que se instaló correctamente se ejecuta el siguiente comando: docker –v
ó docker --version
Para verificar que está operativo el docker podemos ejecutar una aplicación de prueba
con el siguiente comando:
7. Autor: José Antonio Carrasco Moreno – joseacarras@josecarrasco.com
docker run hello-world
5. Referencias de Docker
La herramienta Docker es bastante extensa y cubrirla en su totalidad esta fuera del
alance de este documento, por lo cual colocamos aquí la referencia oficial a la
documentación al momento de que se escribió el documento.
https://docs.docker.com/engine/userguide/