Instalar y utilizar Docker Compose en CentOS 8
Docker Compose es una herramienta que puede utilizarse para definir y ejecutar varios contenedores como un único servicio. Con Docker Compose, puedes enlazar varios contenedores y desplegar una aplicación desde un único comando. Se utiliza principalmente en el entorno de desarrollo, pruebas y staging. Docker Compose utiliza un archivo YAML para definir una pila compleja en un archivo y ejecutarla con un solo comando.
En este tutorial, te mostraremos cómo instalar y utilizar Docker Compose en CentOS 8.
Requisitos
- Un servidor que ejecute CentOS 8.
- Una contraseña de root configurada en el servidor.
Instalar Docker
Antes de empezar, asegúrate de que tienes Docker instalado en tu servidor. Si no está instalado, tendrás que añadir el repositorio Docker-CE a tu sistema. Puedes añadirlo con el siguiente comando:
dnf config-manager --add-repo=https://download.docker.com/linux/centos/docker-ce.repo
Una vez añadido el repositorio, instala la última versión de docker con el siguiente comando:
dnf install docker-ce --nobest -y
systemctl start docker systemctl enable docker
Puedes verificar la versión de docker con el siguiente comando:
docker --version
Deberías ver la siguiente salida:
Docker version 19.03.5, build 633a0ea
Instalar Docker Compose
Por defecto, Docker Compose no está disponible en el repositorio por defecto de CentOS 8. Así que tendrás que descargarlo del repositorio Git.
En primer lugar, instala el comando curl con el siguiente comando:
dnf install curl -y
A continuación, descarga la última versión de Docker Compose desde el reposiotrio Git utilizando curl como se muestra a continuación:
curl -L https://github.com/docker/compose/releases/download/1.25.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
Una vez finalizada la descarga, haz ejecutable el archivo binario descargado con el siguiente comando:
chmod +x /usr/local/bin/docker-compose
A continuación, puedes verificar la versión de Compose utilizando el siguiente comando:
docker-compose --version
Deberías ver la siguiente salida:
docker-compose version 1.25.0, build 0a186604
Puedes ver todas las opciones disponibles con docker-compose utilizando el siguiente comando:
docker-compose --help
Deberías ver la siguiente página:
Desplegar Drupal con Docker Compose
En esta sección, te mostraremos cómo instalar Drupal utilizando Docker Compose.
En primer lugar, crea un directorio para tu drupal con el siguiente comando:
mkdir drupal
A continuación, crea un archivo drupal.yaml dentro del directorio drupal:
nano drupal/docker-compose.yaml
Añade el siguiente contenido:
version: '3.3' services: drupal: image: drupal:latest ports: - 80:80 volumes: - drupal_modules:/var/www/html/modules - drupal_profiles:/var/www/html/profiles - drupal_themes:/var/www/html/themes - drupal_sites:/var/www/html/sites restart: always postgres: image: postgres:10 environment: POSTGRES_PASSWORD: your_postgres_password volumes: - db_data:/var/lib/postgresql/data restart: always volumes: drupal_modules: drupal_profiles: drupal_themes: drupal_sites: db_data:
Guarda y cierra el archivo cuando hayas terminado. A continuación, cambia el directorio a drupal e inicia tu contenedor Docker con el siguiente comando:
cd drupal docker-compose up -d
El comando anterior descargará y ejecutará los contenedores drupal y postgresql.
Puedes comprobar tus contenedores en ejecución con el siguiente comando:
docker-compose ps
Deberías ver la siguiente salida:
Name Command State Ports ------------------------------------------------------------------------------- drupal_drupal_1 docker-php-entrypoint apac ... Up 0.0.0.0:80->80/tcp drupal_postgres_1 docker-entrypoint.sh postgres Up 5432/tcp
Ahora, puedes visitar la URL http://your-server-ip para acceder al asistente de instalación web de Drupal, como se muestra a continuación:
Trabajar con Docker Compose
En esta sección, te mostraremos cómo utilizar el comando docker-compose.
Para detener los servicios Docker Compose ejecuta el siguiente comando dentro del directorio drupal:
docker-compose stop
Deberías ver la siguiente salida:
Stopping drupal_drupal_1 ... done Stopping drupal_postgres_1 ... done
Para iniciar los servicios Docker Compose ejecuta el siguiente comando dentro del directorio drupal:
docker-compose start
Para ver el registro de contenedores ejecuta el siguiente comando:
docker-compose logs
Para ver los logs de un contenedor concreto ejecuta el siguiente comando:
docker-compose logs drupal
Para ver el archivo de configuración ejecuta el siguiente comando:
docker-compose config
Para pausar y despausar los contenedores ejecuta el siguiente comando:
docker-compose pause
Salida:
Pausing drupal_postgres_1 ... done Pausing drupal_drupal_1 ... done
docker-compose unpause
Salida:
Unpausing drupal_drupal_1 ... done Unpausing drupal_postgres_1 ... done
Para eliminar todos los contenedores ejecuta el siguiente comando:
docker-compose down
Deberías ver la siguiente salida:
Stopping drupal_drupal_1 ... done Stopping drupal_postgres_1 ... done Removing drupal_drupal_1 ... done Removing drupal_postgres_1 ... done Removing network drupal_default
También puedes eliminar los volúmenes de datos con el siguiente comando:
docker-compose down --volumes
Deberías ver la siguiente salida:
Removing network drupal_default WARNING: Network drupal_default not found. Removing volume drupal_drupal_modules Removing volume drupal_drupal_profiles Removing volume drupal_drupal_themes Removing volume drupal_drupal_sites Removing volume drupal_db_data
Conclusión
En el tutorial anterior, hemos aprendido a instalar y utilizar Docker Compose en CentOS 8. Espero que tengas suficientes conocimientos sobre cómo utilizar el comando Docker Compose para gestionar los contenedores Docker.