Instalación de Docker-Compose en Debian 12
¿Que es docker-compose?
Docker Compose es una herramienta de orquestación de contenedores que permite definir y ejecutar aplicaciones Docker de múltiples contenedores. Con Compose, se define una aplicación multi-contenedor en un único archivo, luego con un solo comando, se crea y se inicia todos los contenedores a la vez.
Requisitos
- Debian 12 instalado.
- Acceso a internet.
- privilegios de sudo o root.
Instalación de docker-compose
Instalar docker-compose en Debian 12 es muy sencillo, solo tenemos que ejecutar el siguiente comando:
root@docker:~# apt install docker-compose -y
Prueba de funcionamiento
Para proba que docker-compose funciona correctamente vamos a desplegar con un archivo docker-compose.yml una base de datos mariadb y las aplicaciones nextcloud y phpmyadmin.
Primero creamos el fichero docker-compose.yml con el siguiente contenido:
version: '3.3'
services:
database:
image: mariadb
container_name: db_mariadb
restart: always
environment:
MYSQL_ROOT_PASSWORD: root
MYSQL_DATABASE: nextcloud
MYSQL_USER: nextcloud
MYSQL_PASSWORD: nextcloud
volumes:
- /opt/db_mariadb:/var/lib/mysql
nextcloud:
image: nextcloud
container_name: nextcloud
restart: always
ports:
- 8080:80
environment:
MYSQL_HOST: database
MYSQL_DATABASE: nextcloud
MYSQL_USER: nextcloud
MYSQL_PASSWORD: nextcloud
volumes:
- /opt/nextcloud:/var/www/html
phpmyadmin:
image: phpmyadmin/phpmyadmin
container_name: phpmyadmin
restart: always
ports:
- 8081:80
environment:
PMA_HOST: database
MYSQL_ROOT_PASSWORD: root
Ahora ejecutamos el siguiente comando para desplegar los contenedores:
root@docker:~# docker-compose -f docker-compose.yml up -d
Creating phpmyadmin ... done
Creating db_mariadb ... done
Creating nextcloud ... done
Podemos comprobar que los contenedores se han creado correctamente con el comando:
root@Docker:~# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
1de4c0227fb4 phpmyadmin/phpmyadmin "/docker-entrypoint.…" 22 seconds ago Up 20 seconds 0.0.0.0:8081->80/tcp, :::8081->80/tcp phpmyadmin
8e597794b8bd nextcloud "/entrypoint.sh apac…" 22 seconds ago Up 20 seconds 0.0.0.0:8080->80/tcp, :::8080->80/tcp nextcloud
44054fe36109 mariadb "docker-entrypoint.s…" 22 seconds ago Up 20 seconds 3306/tcp db_mariadb
Para acceder a nextcloud solo tenemos que abrir un navegador y poner la dirección IP de la maquina docker seguido del puerto 8080:
Creamos un usuario y contraseña para nextcloud y pulsamos en “Instalar” para que se genere la base de datos.
Para acceder a phpmyadmin solo tenemos que abrir un navegador y poner la dirección IP de la maquina docker seguido del puerto 8081:
Introducimos el usuario root y la contraseña root que hemos definido en el archivo docker-compose.yml y pulsamos en “Iniciar sesión”.
Como podemos ver, está la base de datos nextcloud que hemos creado en el archivo docker-compose.yml.
Con esto ya tendríamos instalado docker-compose en Debian 12 y funcionando correctamente.