Cómo instalar Docker en Kali Linux 2020

Docker es un sistema de virtualización basado en contenedores. Se puede hacer muchas cosas con Docker, pero lo más importante es lograr tener un entorno de desarrollo consistente y uniforme en cualquier ambiente que se tenga disponible, tanto para desarrollo, staging o producción.

Personalmente soy relativamente novato con sistemas Linux en general, esta guía es para que la gente que recién comienza en estos rumbos no tenga los problemas que se me presentaron.

Luego del pequeño intro, vamos al grano para poder ver cómo instalar Docker en Kali Linux 2020.

  1. Actualizamos nuestros repos con el paquete apt
  2. Instalamos el soporte para usar apt mediante HTTPS
  3. [Opcional] Actualizamos nuevamente mediante apt (sólo para neuróticos como yo )
  4. Agregamos la clave GPG oficial de Docker
  5. Verificamos que la nueva clave exista
  6. Agregamos el repositorio correcto
  7. Actualizamos los repositorios nuevamente
  8. Instalamos Docker
  9. Comprobamos que Docker funciona
  10. [Opcional] Configuramos el uso de Docker como usuario no-root
  11. [Opcional] Nos damos una palmadita en la espalda

Comencemos con la diversión…

1. Actualizamos nuestros repos con el paquete apt

Siempre debemos asegurarnos de que tenemos todo actualizado antes de comenzar con la instalación de cualquier software extra en nuestro sistema operativo. Para esto abrimos nuestro Terminal y ejecutamos el siguiente código:

sudo apt-get update

2. Instalamos el soporte para usar apt mediante HTTPS

Para esto simplemente ejecutamos la siguiente instrucción (para ver con mayor facilidad los paquetes que se instalan se pone uno por línea, separados con backslash para que la consola tome todas las líneas como una sola instrucción).

sudo apt-get install \
    apt-transport-https \
    ca-certificates \
    curl \
    gnupg-agent \
    software-properties-common

3. [Opcional] Actualizamos nuevamente mediante apt

Este paso en realidad no es necesario, pero si uno se siente más seguro haciéndolo, puede seguir, solamente debemos actualizar los repositorios como en el paso 1.

sudo apt-get update

4. Agregamos la clave GPG oficial de Docker

Esta clave GPG nos sirve para poder acceder al repositorio de forma segura, con una comunicación encriptada.

curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add - 

5. Verificamos que la nueva clave exista

El fingerprint o huella digital de la clave que debemos tener en nuestro sistema es:

9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88

Nótese los últimos 2 grupos del fingerprint que están resaltados, usaremos estos dos grupos para verificar su existencia. La comprobación de que esté en nuestra máquina la obtenemos con el siguiente comando:

sudo apt-key fingerprint 0EBFCD88

El resultado debe ser algo similar a esto:

pub rsa4096 2017-02-22 [SCEA]
9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88
uid [ unknown] Docker Release (CE deb) docker@docker.com
sub rsa4096 2017-02-22 [S]

6. Agregamos el repositorio correcto

Para agregar el repositorio correcto que nos funcione con nuestro Kali Linux colocamos esto en nuestra Terminal:

sudo add-apt-repository \
   "deb [arch=amd64] https://download.docker.com/linux/debian \
   buster \
   stable"

Aquí es necesario hacer un par de aclaraciones.

En la documentación oficial de Docker la tercera línea de código mostrada en el bloque anterior en lugar de buster dice $(lsb_release -cs) lo cual obtiene el nombre de la distribución actual, en nuestro caso, kali-rolling. Esto no nos servirá puesto que Docker no tiene un repositorio específico para kali-rolling y por eso si agregamos ese fragmento, al momento de actualizar en el paso siguiente tendremos un error 404 not found y no podremos instalar Docker.

Entonces, ¿por qué utilizo buster? Kali Linux es un derivado de Debian, específicamente de un release de Debian que está en el estado de “testing”. El release en “testing” es el que le sigue a “buster”, denominado “bullseye”. Este release “bullseye” inició como una copia de “buster”, es bastante estable y no tiene bugs serios pero no tiene actualizaciones de seguridad muy a menudo, por lo que es bastante más seguro utilizar “buster” para obtener los paquetes de dicho repositorio.

7. Actualizamos los repositorios nuevamente

Ahora sí, actualizamos todo lo que tenemos y verificamos que al actualizar el repo de Docker no nos de ningún error luego de ejecutar esta línea nuevamente:

sudo apt-get update

8. Instalamos Docker

Comenzamos con la instalación colocando lo siguiente en nuestra Terminal:

sudo apt-get install docker-ce docker-ce-cli containerd.io

Aceptamos si nos pregunta si realmente deseamos instalar Docker y esperamos a que la instalación termine sin problemas.

9. Comprobamos que Docker funciona

Para realizar esta comprobación ejecutaremos el comando para obtener una imagen de Docker y crear nuestro primer contenedor:

sudo docker run hello-world

Al hacer esto nuestro sistema se contactará con Dockerhub, descargará la imagen al no encontrarla localmente y creará un contenedor. El resultado que debemos obtener es el siguiente.

Hello from Docker!
This message shows that your installation appears to be working correctly.

To generate this message, Docker took the following steps:
 1. The Docker client contacted the Docker daemon.
 2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
    (amd64)
 3. The Docker daemon created a new container from that image which runs the
    executable that produces the output you are currently reading.
 4. The Docker daemon streamed that output to the Docker client, which sent it
to your terminal.

To try something more ambitious, you can run an Ubuntu container with:
 $ docker run -it ubuntu bash
Share images, automate workflows, and more with a free Docker ID:
 https://hub.docker.com/
For more examples and ideas, visit:
 https://docs.docker.com/get-started/

Una vez que veamos esta respuesta sabremos que Docker ya funciona y podremos comenzar a trabajar con él.

10. [Opcional] Configuramos el uso de Docker como usuario no-root

Este paso, como se indica en el título de la sección, es opcional. Si te fijaste, tuvimos que ejecutar el comando docker run como administrador usando sudo. Para evitar esto y comenzar a usar Docker sin necesidad de eso podemos ejecutar el siguiente comando en nuestra Terminal:

sudo usermod -aG docker $USER 

Lo que hace este fragmento es agregar al usuario actual al grupo de usuarios de Docker, de este modo podemos prescindir del uso de sudo al usar los demás comandos de Docker que necesitemos. Para que esto funcione es probable que tengas que cerrar sesión en tu máquina y volver a iniciarla.

11. [Opcional] Nos damos una palmadita en la espalda

¡Felicidades! Ahora puedes comenzar a usar Docker en tu Kali Linux 2020. Buen trabajo, lo siguiente es empezar a tocar lo que quieras con tus contenedores, imágenes y volúmenes. ¡Mucho éxito!

2 Responses

  1. jackgasolina says:

    └─# sudo docker run hello-world 1 ⨯
    docker: Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?.
    See ‘docker run –help’.

    • Cabrajeta says:

      Hola! Verificaste si el servicio (daemon) está ejecutándose en la máquina? Podrías comprobarlo con sudo service docker status e iniciarlo en caso de que esté detenido con sudo service docker start. Saludos!

Leave a Reply

Your email address will not be published. Required fields are marked *