Cómo instalar Docker y Docker Compose en Debian 11

Cómo instalar Docker y Docker Compose en Debian 11

Docker es una plataforma gratuita y de código abierto para desarrollar, enviar y ejecutar aplicaciones en el entorno de contenedores. Le permite separar su aplicación de su infraestructura. Esto hará que sea más fácil, simple y seguro construir, implementar y administrar contenedores. Docker está diseñado para configurar un entorno de desarrollo local.

Si desea crear más de un contenedor para su aplicación, debe usar Docker compose. Docker-compose es una herramienta que se utiliza para definir y compartir aplicaciones de varios contenedores. Con Docker compose, puede usar el archivo YAML para definir todos los servicios y ejecutarlos a la vez usando el comando simple.

En este tutorial, le mostraremos cómo instalar Docker y Docker compose en un sistema Debian 11.

requisitos previos

  • Un servidor que ejecuta Debian 11.
  • Una contraseña de root está configurada en el servidor.

Empezando

Primero, se recomienda actualizar la caché de paquetes de su sistema a la última versión. Puede actualizarlos usando el siguiente comando:

apt-get update -y

Una vez que haya terminado, instale otras dependencias requeridas usando el siguiente comando:

apt-get install apt-transport-https software-properties-common ca-certificates curl gnupg lsb-release -y

Instalar ventana acoplable

De forma predeterminada, la última versión de Docker no está incluida en el repositorio oficial de Debian 11. Por lo tanto, deberá agregar el repositorio Docker CE al APT. Puedes agregarlo usando el siguiente comando:

curl -fsSL https://download.docker.com/linux/debian/gpg | apt-key add -
add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/debian $(lsb_release -cs) stable"

Una vez que se agrega el repositorio de Docker, actualice el repositorio e instale Docker CE con el siguiente comando:

apt-get update -y
apt-get install docker-ce docker-ce-cli -y

Después de la instalación, verifique la versión de Docker CE usando el siguiente comando:

docker version

Deberías obtener el siguiente resultado:

Client: Docker Engine - Community
 Version:           20.10.8
 API version:       1.41
 Go version:        go1.16.6
 Git commit:        3967b7d
 Built:             Fri Jul 30 19:54:22 2021
 OS/Arch:           linux/amd64
 Context:           default
 Experimental:      true

Server: Docker Engine - Community
 Engine:
  Version:          20.10.8
  API version:      1.41 (minimum version 1.12)
  Go version:       go1.16.6
  Git commit:       75249d8
  Built:            Fri Jul 30 19:52:31 2021
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          1.4.9
  GitCommit:        e25210fe30a0a703442421b0f60afac609f950a3
 runc:
  Version:          1.0.1
  GitCommit:        v1.0.1-0-g4144b63
 docker-init:
  Version:          0.19.0
  GitCommit:        de40ad0

Administrar los servicios de Docker

Puede administrar el servicio Docker fácilmente con la utilidad systemd.

Para iniciar un servicio de Docker, ejecute el siguiente comando:

systemctl start docker

Para reiniciar un servicio de Docker, ejecute el siguiente comando:

systemctl restart docker

Para detener un servicio de Docker, ejecute el siguiente comando:

systemctl stop docker

Para permitir que el servicio Docker se inicie al reiniciar el sistema, ejecute el siguiente comando:

systemctl enable docker

Para verificar el estado de Docker, ejecute el siguiente comando:

systemctl status docker

Debería ver el estado de Docker en el siguiente resultado:

? docker.service - Docker Application Container Engine
     Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
     Active: active (running) since Fri 2021-09-10 07:19:35 UTC; 27s ago
TriggeredBy: ? docker.socket
       Docs: https://docs.docker.com
   Main PID: 29018 (dockerd)
      Tasks: 7
     Memory: 32.6M
        CPU: 407ms
     CGroup: /system.slice/docker.service
             ??29018 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock

Sep 10 07:19:34 debian11 dockerd[29018]: time="2021-09-10T07:19:34.809035575Z" level=info msg="scheme \"unix\" not registered, fallback to def>
Sep 10 07:19:34 debian11 dockerd[29018]: time="2021-09-10T07:19:34.809219999Z" level=info msg="ccResolverWrapper: sending update to cc: {[{uni>
Sep 10 07:19:34 debian11 dockerd[29018]: time="2021-09-10T07:19:34.809410545Z" level=info msg="ClientConn switching balancer to \"pick_first\">
Sep 10 07:19:34 debian11 dockerd[29018]: time="2021-09-10T07:19:34.897972507Z" level=info msg="Loading containers: start."
Sep 10 07:19:35 debian11 dockerd[29018]: time="2021-09-10T07:19:35.186940748Z" level=info msg="Default bridge (docker0) is assigned with an IP>
Sep 10 07:19:35 debian11 dockerd[29018]: time="2021-09-10T07:19:35.298681937Z" level=info msg="Loading containers: done."
Sep 10 07:19:35 debian11 dockerd[29018]: time="2021-09-10T07:19:35.356364773Z" level=info msg="Docker daemon" commit=75249d8 graphdriver(s)=ov>
Sep 10 07:19:35 debian11 dockerd[29018]: time="2021-09-10T07:19:35.357524464Z" level=info msg="Daemon has completed initialization"
Sep 10 07:19:35 debian11 systemd[1]: Started Docker Application Container Engine.
Sep 10 07:19:35 debian11 dockerd[29018]: time="2021-09-10T07:19:35.401626151Z" level=info msg="API listen on /run/docker.sock"

Ejecutar un contenedor usando Docker

Puedes usar el ejecución de la ventana acoplable comando para descargar cualquier imagen y ejecutarla dentro del contenedor.

Por ejemplo, ejecute el siguiente comando para descargar la imagen de Debian y ejecutar un contenedor:

docker run --rm -it --name test debian:latest /bin/sh

Deberías obtener el siguiente resultado:

Unable to find image 'debian:latest' locally
latest: Pulling from library/debian
955615a668ce: Pull complete 
Digest: sha256:08db48d59c0a91afb802ebafc921be3154e200c452e4d0b19634b426b03e0e25
Status: Downloaded newer image for debian:latest
#

Ejecute el siguiente comando para salir del contenedor de Debian

#exit

Instalar Docker Compose

De forma predeterminada, Docker compose no está disponible en el repositorio predeterminado de Debian 11. Por lo tanto, deberá descargar Docker compose binary de Github.

Ejecute el siguiente comando para descargar el binario de composición de Docker:

curl -s https://api.github.com/repos/docker/compose/releases/latest | grep browser_download_url | grep docker-compose-Linux-x86_64 | cut -d '"' -f 4 | wget -qi -

Una vez que se complete la descarga, configure el permiso ejecutable para el archivo descargado y muévalo a la ruta del sistema usando el siguiente comando:

chmod +x docker-compose-Linux-x86_64
mv docker-compose-Linux-x86_64 /usr/bin/docker-compose

A continuación, verifique la versión de composición de Docker con el siguiente comando:

docker-compose version

Debería ver el siguiente resultado:

docker-compose version 1.29.2, build 5becea4c
docker-py version: 5.0.0
CPython version: 3.7.10
OpenSSL version: OpenSSL 1.1.0l  10 Sep 2019

Comandos de composición de Docker

Para ejecutar un archivo de redacción de Docker, ejecute el siguiente comando:

docker-compose up -d

Para detener todos los contenedores en ejecución, ejecute el siguiente comando:

docker-compose down

Para pausar y reanudar el contenedor en ejecución, ejecute el siguiente comando:

docker-compose pause
docker-compose unpause

Para enumerar todos los contenedores en ejecución, ejecute el siguiente comando:

docker-compose ps

Para verificar los registros de los servicios en ejecución, ejecute el siguiente comando:

docker-compose logs

Conclusión

¡Felicidades! ha instalado correctamente Docker y Docker Compose en Debian 11. Ahora puede compilar, enviar y ejecutar su aplicación utilizando Docker y Docker Compose.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *