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.