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:

Opciones de la línea de comandos de Docker Compose

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:

Elige lengua

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.

También te podría gustar...