Instalar y utilizar Docker Compose en CentOS 8



Docker Compose es una útil que puede utilizarse para detallar 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 avance, pruebas y staging. Docker Compose utiliza un archivo YAML para detallar 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

Antiguamente de aparecer, 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 subsiguiente comando:

dnf config-manager --add-repo=https://download.docker.com/linux/centos/docker-ce.repo

Una vez añadido el repositorio, instala la última traducción de docker con el subsiguiente comando:

dnf install docker-ce --nobest -y
systemctl start docker
 systemctl enable docker

Puedes probar la traducción de docker con el subsiguiente comando:

docker --version

Deberías ver la subsiguiente salida:

Docker version 19.03.5, build 633a0ea

Instalar Docker Compose

Por defecto, Docker Compose no está habitable en el repositorio por defecto de CentOS 8. Así que tendrás que descargarlo del repositorio Git.

En primer sitio, instala el comando curl con el subsiguiente comando:

dnf install curl -y

A continuación, descarga la última traducció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/circunscrito/bin/docker-compose

Una vez finalizada la descarga, haz ejecutable el archivo binario descargado con el subsiguiente comando:

chmod +x /usr/circunscrito/bin/docker-compose

A continuación, puedes probar la traducción de Compose utilizando el subsiguiente comando:

docker-compose --version

Deberías ver la subsiguiente salida:

docker-compose version 1.25.0, build 0a186604

Puedes ver todas las opciones disponibles con docker-compose utilizando el subsiguiente comando:

docker-compose --help

Deberías ver la subsiguiente 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 sitio, crea un directorio para tu drupal con el subsiguiente comando:

mkdir drupal

A continuación, crea un archivo drupal.yaml adentro del directorio drupal:

nano drupal/docker-compose.yaml

Añade el subsiguiente 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:

Tutela y cierra el archivo cuando hayas terminado. A continuación, cambia el directorio a drupal e inicia tu contenedor Docker con el subsiguiente comando:

cd drupal
 docker-compose up -d

El comando inicial descargará y ejecutará los contenedores drupal y postgresql.

Puedes comprobar tus contenedores en ejecución con el subsiguiente comando:

docker-compose ps

Deberías ver la subsiguiente 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 pasarse la URL http://your-server-ip para obtener 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 subsiguiente comando adentro del directorio drupal:

docker-compose stop

Deberías ver la subsiguiente salida:

Stopping drupal_drupal_1   ... done
Stopping drupal_postgres_1 ... done

Para iniciar los servicios Docker Compose ejecuta el subsiguiente comando adentro del directorio drupal:

docker-compose start

Para ver el registro de contenedores ejecuta el subsiguiente comando:

docker-compose logs

Para ver los logs de un contenedor concreto ejecuta el subsiguiente comando:

docker-compose logs drupal

Para ver el archivo de configuración ejecuta el subsiguiente comando:

docker-compose config

Para pausar y despausar los contenedores ejecuta el subsiguiente 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 subsiguiente comando:

docker-compose down

Deberías ver la subsiguiente 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

Asimismo puedes eliminar los volúmenes de datos con el subsiguiente comando:

docker-compose down --volumes

Deberías ver la subsiguiente 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 inicial, 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 encargar los contenedores Docker.