Bienvenido a nuestra guía sobre cómo instalar Docker y Docker Compose en Kali Linux. Instalaremos Docker CE (Community Edition) en Kali Linux. Docker es el entorno de ejecución de contenedores más popular y utilizado. Permite a los desarrolladores empaquetar, enviar y ejecutar sus aplicaciones en contenedores aislados. Utilice Kubernetes para enviarlo fácilmente desde una máquina de desarrollador a un entorno de producción.
Estos son los términos comúnmente utilizados en el ecosistema Docker.
- demonio acoplable: Esto también se llama Docker Engine, es un proceso en segundo plano que se ejecuta en el sistema host responsable de construir y ejecutar el contenedor.
- Peóncliente: Esta es una herramienta de línea de comandos que los usuarios utilizan para interactuar con el demonio Docker.
- imagen acoplable: Una imagen es un archivo inmutable, esencialmente una instantánea de un contenedor. Las imágenes de Docker tienen el sistema de archivos y las dependencias de la aplicación necesarias para ejecutar la aplicación.
- contenedor acoplable: Esta es una instancia en ejecución de una imagen de Docker con una aplicación y sus dependencias. Cada contenedor tiene una identificación de proceso única y está aislado de otros contenedores. El único contenido compartido por el contenedor es el núcleo.
- registro acoplable: Esta es una aplicación responsable de gestionar el almacenamiento y la entrega de imágenes de contenedores Docker. Puede ser privado o público.
Entonces comencemos a instalar Docker en Kali Linux.
Paso 1: instalar paquetes dependientes
Comience la instalación asegurándose de que todos los paquetes que Docker utiliza como dependencias estén instalados.
sudo apt update
sudo apt -y install curl gnupg2 apt-transport-https software-properties-common ca-certificates
Paso 2: importe la clave GPG de Docker:
Importe la clave Docker GPG utilizada para firmar el paquete Docker:
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -
Paso 3: agregue el repositorio de Docker a Kali Linux
Agregue un repositorio de Docker que contenga la última versión estable de Docker CE.
echo "deb [arch=amd64] https://download.docker.com/linux/debian buster stable" | sudo tee /etc/apt/sources.list.d/docker.list
Este comando agrega la URL del repositorio a /etc/apt/sources.list.d/docker.list.
Paso 4: instale Docker en Kali Linux
Actualizarapt
El índice del paquete.
$ sudo apt update
gn:1 https://dl.google.com/linux/chrome/deb stable InRelease
Get:3 https://download.docker.com/linux/debian buster InRelease [44.4 kB]
Hit:2 https://kali.download/kali kali-rolling InRelease
Hit:4 https://dl.google.com/linux/chrome/deb stable Release
Get:5 https://download.docker.com/linux/debian buster/stable amd64 Packages [10.9 kB]
Fetched 55.3 kB in 1s (45.2 kB/s)
Reading package lists... Done
Building dependency tree
Reading state information... Done
186 packages can be upgraded. Run 'apt list --upgradable' to see them.
Para instalar Docker CE en Kali Linux, ejecute el siguiente comando:
sudo apt install docker-ce docker-ce-cli containerd.io
golpearÿLa clave para comenzar con Docker en Kali Linux.
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following additional packages will be installed:
aufs-dkms aufs-tools cgroupfs-mount dkms linux-compiler-gcc-9-x86 linux-headers-5.4.0-kali3-amd64
linux-headers-5.4.0-kali3-common linux-headers-amd64 linux-kbuild-5.4 pigz
Suggested packages:
aufs-dev menu
The following NEW packages will be installed:
aufs-dkms aufs-tools cgroupfs-mount containerd.io dkms docker-ce docker-ce-cli linux-compiler-gcc-9-x86
linux-headers-5.4.0-kali3-amd64 linux-headers-5.4.0-kali3-common linux-headers-amd64 linux-kbuild-5.4 pigz
0 upgraded, 13 newly installed, 0 to remove and 186 not upgraded.
Need to get 98.1 MB of archives.
After this operation, 446 MB of additional disk space will be used.
Do you want to continue? [Y/n] y
Esta instalación agregarádocker
Agrupe a un sistema sin ningún usuario. Agregue su cuenta de usuario al grupo y ejecute el comando Docker como usuario sin privilegios.
sudo usermod -aG docker $USER
newgrp docker
Verifique la versión de Docker instalada.
$ docker version
Client: Docker Engine - Community
Version: 19.03.6
API version: 1.40
Go version: go1.12.16
Git commit: 369ce74a3c
Built: Thu Feb 13 01:27:58 2020
OS/Arch: linux/amd64
Experimental: false
Server: Docker Engine - Community
Engine:
Version: 19.03.6
API version: 1.40 (minimum version 1.12)
Go version: go1.12.16
Git commit: 369ce74a3c
Built: Thu Feb 13 01:26:32 2020
OS/Arch: linux/amd64
Experimental: false
containerd:
Version: 1.2.12
GitCommit: 35bd7a5f69c13e1563af8a93431411cd9ecf5021
runc:
Version: 1.0.0-rc10
GitCommit: dc9208a3303feef5b3839f4323d9beb36df0a9dd
docker-init:
Version: 0.18.0
GitCommit: fec3683
Paso 5: Instale Docker Compose en Kali Linux
Utilice la siguiente guía para instalar la última versión de Docker Compose en Kali Linux.
Cómo instalar la última versión de Docker Compose en Linux
Después de la instalación, verifique que la instalación se haya realizado correctamente verificando la versión.
$ docker-compose version
docker-compose version 1.25.4, build 8d51620a
docker-py version: 4.1.0
CPython version: 3.7.5
OpenSSL version: OpenSSL 1.1.0l 10 Sep 2019
Paso 6: Pruebe la instalación de Docker.
Ejecute el contenedor acoplable de prueba:
$ docker run --rm -it hello-world
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
1b930d010525: Pull complete
Digest: sha256:9572f7cdcee8591948c2963463447a53466950b3fc15a247fcad1917ca215a2f
Status: Downloaded newer image for hello-world:latest
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/
Paso 6: Pruebe su instalación de Docker Compose.
Cree un archivo Docker Compose de prueba.
$ vim docker-compose.yml
Agregue los siguientes datos al archivo.
version: '3'
services:
web:
image: nginx:latest
ports:
- "8080:80"
links:
- php
php:
image: php:7-fpm
Inicie el contenedor de servicios.
$ docker-compose up -d
Creating network "jkmutai_default" with the default driver
Pulling php (php:7-fpm)...
7-fpm: Pulling from library/php
bc51dd8edc1b: Pull complete
a3224e2c3a89: Pull complete
be7a066df88f: Pull complete
bfdf741d72a9: Pull complete
0096578ff21c: Pull complete
52b9a3846c51: Pull complete
91c8df69c5cf: Pull complete
ba16a1822680: Pull complete
c137b651214d: Pull complete
a2738b6c9bea: Pull complete
Digest: sha256:022dcc4f1a054584660ce3d77bb0dc1f5084d25f117d4814726518b7f66af47f
Status: Downloaded newer image for php:7-fpm
Pulling web (nginx:latest)...
latest: Pulling from library/nginx
bc51dd8edc1b: Already exists
66ba67045f57: Pull complete
bf317aa10aa5: Pull complete
Digest: sha256:ad5552c786f128e389a0263104ae39f3d3c7895579d45ae716f528185b36bc6f
Status: Downloaded newer image for nginx:latest
Creating jkmutai_php_1 ... done
Creating jkmutai_web_1 ... done
Mostrar contenedores en ejecución:
$ docker-compose ps
Name Command State Ports
----------------------------------------------------------------------------
jkmutai_php_1 docker-php-entrypoint php-fpm Up 9000/tcp
jkmutai_web_1 nginx -g daemon off; Up 0.0.0.0:8080->80/tcp
Destruir el contenedor:
$ docker-compose stop
Stopping jkmutai_web_1 ... done
Stopping jkmutai_php_1 ... done
$ docker-compose rm
Going to remove jkmutai_web_1, jkmutai_php_1
Are you sure? [yN] y
Removing jkmutai_web_1 ... done
Removing jkmutai_php_1 ... done
Disfrute del desarrollo de aplicaciones en contenedores y ejecútelas con Docker y Docker Compose en Kali Linux.