Docker: Procesos de instalación

Imagen destacada de Docker: Procesos de instalación

La instalación de docker en sistemas basados en GNU/Linux es super sencilla. En mi caso soy usuario GNU/Debian y es el procedimiento que describiré, así como en el resto de sistemas y arquitecturas con las que trabajo.

Como siempre siguiendo la documentación ejecutaremos los siguientes comandos desde la terminal como root o como usuario sudo:

  • Actualizamos el sistema e instalamos el software que necesitaremos previamente:
apt-get update && apt-get install apt-transport-https ca-certificates curl gnupg-agent software-properties-common -y
  • Descargamos y añadimos las firmas gpg de docker:
curl -fsSL https://download.docker.com/linux/debian/gpg | apt-key add -
  • Añadimos el repositorio de docker correspondiente a nuestra distribución y arquitectura (en el caso de raspberry el procedimiento es diferente):
add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/debian $(lsb_release -cs) stable"
  • Actualizamos de nuevo el sistema e instalamos docker:
apt-get update && apt-get install docker-ce docker-ce-cli containerd.io

Podremos comprobar la correcta instalación ejecutando «docker -v» lo cual nos devolvera la versión instalada.

Lo siguiente seria descargar Docker-compose, para ello con cualquier usuario con permisos, solo tendríamos que descargarlo en ‘/usr/bin’ y darle permisos de ejecución. Al igual que con Docker podremos comprobar con ‘docker-compose -v’:

curl -L "https://github.com/docker/compose/releases/download/1.28.4/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

chmod +x /usr/local/bin/docker-compose

El siguiente paso seria modificar de ser necesario la ubicación de docker a otra ubicación. Este caso podría darse por cuestiones de almacenamiento, rendimiento y seguridad por ejemplo.

En cualquier caso tan solo deberíamos crear/editar ‘/etc/docker/daemon.json’ y esto siempre es preferible que sea antes de haber empezado a trabajar con docker, ya que en caso contrario habría que migrar previamente el contenido en la carpeta por defecto ‘/var/lib/docker’.


{
    "data-root": "/nueva/ubicación/docker",
    "storage-driver": "overlay2"
}

Habiendo hecho el paso anterior, cuando hagamos pull de alguna imagen se nos creara la estructura en el nuevo directorio.

Como notas acerca de la instalación de docker en otras estaciones de trabajo, pondré el proceso en raspberry y un workaround sobre la instalación en un template debian en Qubes OS.

Un método bastante eficaz de instalar Docker y docker-compose en raspberry pi, es utilizando el script de instalación oficial para docker. Para docker-compose utilizar pip3 que es el manejador de paquetes de python3 y el cual dispone de el.

Por lo que para instalar docker en Raspberry OS:

sudo apt update && sudo apt upgrade -y && curl -sSL https://get.docker.com | sh

Y para docker-compose:

sudo apt install python3-pip && sudo pip3 install docker-compose

En cuanto al ‘workaround’ de la instalación en un template debian en Qubes OS, al parecer hay un conflicto con el modulo dkms en cuanto a nomenclaturas. Fedora que es el sistema bajo QubesOS, utiliza ‘x86_64’ y Debian ‘amd64’ a la hora de referirse a la arquitectura, el caso es que cada vez que se actualizaba la plantilla se demoraba y saltaban errores aunque procedía la actualización.

Para evitar eso, tan solo deberíamos en el paso de instalar, añadir el parámetro –no-install-recommends, lo cual evitaría la instalación.

apt-get update && apt-get --no-install-recommends docker-ce docker-ce-cli containerd.io

Con eso evitaríamos las molestias provocadas por ese fallo. Otra cosa es que en Qubes también seria bastante acertado mover la carpeta root de docker al espacio de ‘user’ para tener las instancias de docker controladas y separadas y no engordar el template, desde mi humilde opinión.

Saludosss