Docker-compose es una herramienta de docker, pero antes de entender qué es docker-compose, expliquemos qué es un Docker. Docker es un contenedor virtual que se utiliza para combinar las aplicaciones con sus dependencias para ejecutarse en cualquier sistema operativo. Docker es compatible con una herramienta que se conoce como Docker-compose y se usa para manejar aplicaciones de varios contenedores.
Docker-compose utiliza los archivos YAML para la configuración y administra todos los servicios desde la CLI (interfaz de línea de comandos), ya sea para iniciar el servicio o para crear el proceso, todos los procesos se pueden manejar fácilmente con esta herramienta.
En este artículo, aprenderemos el procedimiento de instalación de su instalación en Debian 11 y también discutiremos algunos comandos básicos de sus usos.
Cómo instalar Docker-Compose en Debian 11
Como el paquete de Docker-Compose no viene con el repositorio de Debian 11, lo instalaremos directamente desde Github y usaremos el indicador -o como salida y almacenaremos la salida en la ruta provista, para hacerlo ejecutaremos el comando:
$ sudo curl -L https://github.com/docker/compose/releases/download/v2.0.1/docker-compose-linux-x86_64 -o /usr/local/bin/docker-compose
Una vez descargado e instalado el Docker-Compose, cambiaremos los permisos de acceso del archivo mediante el chmod:
$ sudo chmod +x /usr/local/bin/docker-compose
Para confirmar la instalación, comprobaremos la versión de Docker-Compose mediante el comando:
$ docker-compose --version
A partir de la salida, se ha verificado que Docker-Compose se ha instalado correctamente.
Cómo usar Docker-compose en Debian 11
Aquí discutiremos algunos comandos básicos para usar Docker-compose en Debian 11. Primero, crearemos un directorio y cambiaremos a él, digamos que creamos un directorio con el nombre de Hello-itslinux ejecutando los comandos:
$ mkdir Hello-itslinux
$ cd Hello-itslinux
Luego crearemos un archivo YML aquí con la ayuda del editor nano usando un comando:
$ nano docker-compose.yml
Escriba algo de contenido aquí, digamos que vamos a inicializar dos servicios db y WordPress, ambos servicios crearán sus propias imágenes cuando Docker-Compose los ejecute. El código de esto será como:
version: '3'
services:
db:
image: mysql:5.7
volumes:
- db_data:/var/lib/mysql
restart: always
environment:
MYSQL_ROOT_PASSWORD: somewordpress
MYSQL_DATABASE: wordpress
MYSQL_USER: wordpress
MYSQL_PASSWORD: wordpress
wordpress:
depends_on:
- db
image: wordpress:latest
ports:
- "8000:80"
restart: always
environment:
WORDPRESS_DB_HOST: db:3306
WORDPRESS_DB_USER: wordpress
WORDPRESS_DB_PASSWORD: wordpress
volumes:
db_data:
Presiona CTRL+S para guardar el archivo y CTRL+X para salir del editor, ahora ejecute el archivo usando docker-composer como:
$ sudo docker-compose up -d
Ahora el comando anterior construirá ambos; db y contenedores de WordPress y también ejecútelos. Ahora, si queremos eliminar y detener los contenedores usando docker-compose, ejecute el comando:
$ sudo docker-compose down
También podemos construir una aplicación multi-contenedor usando Docker-Compose, se está considerando un ejemplo simple para este propósito, abra nuevamente un archivo usando el editor nano e inserte un nuevo código en él.
$ nano docker-compose.yml
Ahora edite el código en el que cada sección de la sección "Servicios" creará una entrada separada en la ejecución de docker-compose como:
version: '3'
services:
distro:
image: alpine
restart: always
container_name: Alpine_Distro
entrypoint: tail -f /dev/null
Guarde el archivo presionando CTRL+S y salga del editor presionando CTRL+X . Una vez que se cierre el editor, ejecute el comando para construir los contenedores.
$ sudo docker-compose up -d
Los contenedores han sido acumulados, para comprobar el estado de los contenedores ejecuta el comando:
$ sudo docker ps
Ahora, para eliminarlos, usaremos el comando hacia abajo como:
$ sudo docker-compose down
También hay muchos otros comandos avanzados con la ayuda de los cuales podemos realizar muchas otras tareas. Si queremos eliminar Docker-Compose de Debian 11, ejecute el comando:
$ sudo rm /usr/local/bin/docker-compose
Docker-compose se eliminó correctamente de Debian 11.
Conclusión
Se pueden alojar múltiples entornos desde una sola máquina utilizando Docker-compose, que es la herramienta de los Dockers. Es muy seguro al comunicar la información entre los contenedores, ya que mantiene la información en forma de enjambre. En este artículo, primero discutimos el método de instalación de Docker-Compose en Debian 11 directamente desde Github, y luego discutimos sus usos al construir los dos servicios db y WordPress y también al construir una aplicación simple usando Docker-compose.