Cómo instalar y usar Docker Compose en CentOS 8

27 feb 2021 4 min di lettura
Cómo instalar y usar Docker Compose en CentOS 8
Indice dei contenuti

Introducción

Docker Compose es una herramienta que le permite definir y ejecutar aplicaciones Docker de múltiples contenedores.

Con Compose, usted define los servicios de la aplicación, las redes y los volúmenes en un solo archivo YAML, luego rota la aplicación con un solo comando.

Compose se puede utilizar para una variedad de propósitos, como implementaciones de aplicaciones de host único, pruebas automatizadas y desarrollo local.

Este tutorial lo guía para instalar la última versión de Docker Compose en CentOS 8. También cubriremos los conceptos y comandos básicos de Docker Compose.

Prerrequisitos

Asegúrese de cumplir con los siguientes requisitos previos antes de continuar con este tutorial:

Si desea instalar Docker Compose en un servidor remoto, continúe leyendo; de lo contrario, omita el primer párrafo "Conectarse al servidor" y lea el siguiente.

Conexión al servidor

Para acceder al servidor, necesita conocer la dirección IP. También necesitará su nombre de usuario y contraseña para la autenticación. Para conectarse al servidor como root, escriba el siguiente comando:

ssh root@IP_DEL_SERVER

A continuación, deberá ingresar la contraseña del usuario root.

Si no está utilizando el usuario root, puede iniciar sesión con otro nombre de usuario utilizando el mismo comando, luego cambie root a su nombre de usuario:

ssh nome_utente@IP_DEL_SERVER

Luego se le pedirá que ingrese su contraseña de usuario.

El puerto estándar para conectarse a través de ssh es 22, si su servidor usa un puerto diferente, deberá especificarlo usando el parámetro -p, luego escriba el siguiente comando:

ssh nome_utente@IP_DEL_SERVER -p PORTA

Instalar Docker Compose en CentOS

El método recomendado para instalar Docker Compose en CentOS 8 es descargar el archivo binario Compose desde el repositorio GitHub de Docker.

En el momento de escribir este artículo, la última versión estable de Docker Compose es la versión 1.25.1. Antes de descargar el binario de Compose, visite la página de lanzamiento del repositorio de Compose en GitHub y verifique si hay una nueva versión disponible para descargar.

Complete los siguientes pasos para instalar Docker Compose en CentOS 8:

Comience descargando el binario Compose Docker en el /usr/local/bin usando el siguiente comando curl

sudo curl -L "https://github.com/docker/compose/releases/download/1.25.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

Una vez que se complete la descarga, haga que el binario sea ejecutable escribiendo:

sudo chmod +x /usr/local/bin/docker-compose

Para verificar la instalación, escriba el siguiente comando para imprimir la versión de Compose:

docker-compose --version

La salida se verá así:

docker-compose version 1.25.1, build a82fef07

Introducción a Docker Compose

En esta sección, le mostraremos cómo usar Docker Compose para ejecutar una pila de WordPress en su computadora CentOS 7.

Comience creando un nuevo directorio para el proyecto y navegue hasta él:

mkdir my_app && cd my_app

Luego, cree un archivo llamado docker-compose.yml en el directorio del proyecto:

vi docker-compose.yml

Pega el siguiente contenido:

version: '3.3'

 services:
 db:
 image: mysql:5.7
 restart: always
 volumes:
 - db_data:/var/lib/mysql
 environment:
 MYSQL_ROOT_PASSWORD: password
 MYSQL_DATABASE: wordpress

 wordpress:
 image: wordpress
 restart: always
 volumes:
 -./wp_data:/var/www/html
 ports:
 - "8080:80"
 environment:
 WORDPRESS_DB_HOST: db:3306
 WORDPRESS_DB_NAME: wordpress
 WORDPRESS_DB_USER: root
 WORDPRESS_DB_PASSWORD: password
 depends_on:
 - db

 volumes:
 db_data:
 wp_data:

Repasemos el código línea por línea.

La primera línea especifica la versión del archivo de composición. Hay varias versiones del formato de archivo Compose compatibles con versiones específicas de Docker.

A continuación, estamos definiendo dos servicios db y wordpress. Cada servicio ejecuta una imagen y creará un contenedor separado cuando se ejecute la composición de la ventana acoplable.

El servicio db

  • Utilice la mysql:5.7. Si la imagen no está presente en su sistema, Compose la extraerá del repositorio público de Docker Hub.
  • Utiliza la always que indica el reinicio automático del contenedor.
  • Cree un volumen llamado db_data para conservar la base de datos.
  • Defina las variables de entorno para la mysql:5.7.

El servicio de wordpress

  • Utilice la imagen de wordpress Si la imagen no está presente en su sistema, Compose la extraerá del repositorio público de Docker Hub.
  • Utiliza la always que indica el reinicio automático del contenedor.
  • Monte el wp_data en el host dentro del contenedor /var/lib/mysql
  • Reenvía el puerto 80 expuesto en el contenedor al puerto 8080 en la máquina host.
  • Define las variables de entorno para la imagen de wordpress
  • La depends_on define la dependencia entre los dos servicios. En este ejemplo, db iniciará wordpress primero.

Desde el directorio del proyecto, inicie la aplicación de WordPress usando el siguiente comando:

docker-compose up

La salida debería verse así:

...
 wordpress_1 | [ 2020-01-17 22:36:07+00:00] [mpm_prefork:notice] [pid 1] AH00163: Apache/2.4.25 (Debian) PHP/7.2.10 configured -- resuming normal operations
 wordpress_1 | [ 2020-01-17 22:36:07+00:00] [core:notice] [pid 1] AH00094: Command line: 'apache2 -D FOREGROUND'...

Compose extrae ambas imágenes, inicia dos contenedores y crea el wp_data en el directorio del proyecto.

Abra su navegador, escriba http://TUO_IP_O_DOMINIO:8080/ y verá la pantalla de instalación de Wordpress.

Para dejar de marcar, presione CTRL+C Si desea comenzar a componer en modo independiente, use la -d:

docker-compose up -d
Starting my_app_db_1... done
 Starting my_app_wordpress_1... done

Para verificar los servicios en ejecución, use la opción ps

docker-compose ps
 Name Command State Ports
 ----------------------------------------------------------------------------------
 my_app_db_1 docker-entrypoint.sh mysqld Up 3306/tcp, 33060/tcp
 my_app_wordpress_1 docker-entrypoint.sh apach... Up 0.0.0.0:8080->80/tcp

Cuando Compose se ejecuta en modo independiente, para detener el servicio, escriba el siguiente comando:

docker-compose stop

Para eliminar completamente los contenedores, use la opción down

docker-compose down

El uso de la --volumes también eliminará los volúmenes de datos:

docker-compose down --volumes

Desinstalar Docker Compose

Si desea desinstalar Docker Compose, simplemente elimine el archivo binario con el siguiente comando:

sudo rm /usr/local/bin/docker-compose

Conclusión

Aprendió a instalar y usar Docker Compose en CentOS 8.

Support us with a

Successivamente, completa il checkout per l'accesso completo a Noviello.it.
Bentornato! Accesso eseguito correttamente.
Ti sei abbonato con successo a Noviello.it.
Successo! Il tuo account è completamente attivato, ora hai accesso a tutti i contenuti.
Operazione riuscita. Le tue informazioni di fatturazione sono state aggiornate.
La tua fatturazione non è stata aggiornata.