Docker Compose es una herramienta de línea de comandos que le permite definir y orquestar aplicaciones Docker de múltiples contenedores. Utiliza un archivo YAML para configurar los servicios, redes y volúmenes de la aplicación.

Con Compose, puede definir un entorno de aplicación portátil que puede ejecutar en cualquier sistema. Los entornos de Compose están aislados entre sí, lo que le permite ejecutar varias copias del mismo entorno en un solo host.

Compose se usa normalmente para desarrollo local, implementaciones de aplicaciones de host único y pruebas automatizadas.

Este artículo explica cómo instalar la última versión de Docker Compose en Ubuntu 20.04. También exploraremos los conceptos y comandos básicos de Docker Compose.

requisitos previos

Suponemos que tiene Docker instalado en su máquina Ubuntu.

Instalación de Docker Compose en Ubuntu

Docker Compose es un solo archivo binario. La instalación es sencilla. Descargaremos el archivo a un directorio que esté en la RUTA del sistema y lo haremos ejecutable.

El paquete Docker Compose está disponible en los repositorios oficiales de Ubuntu 20.04, pero es posible que no siempre sea la última versión.

Al momento de escribir este artículo, la última versión estable de Docker Compose es 1.25.5Antes 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.

Use para descargar el archivo Compose en eldirectorio:curl  /usr/local/bin

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

Una vez que se complete la descarga, aplique permisos ejecutables al archivo:

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

Para verificar que la instalación fue exitosa, ejecute el siguiente comando que imprimirá la versión de Compose:

docker-compose --version

La salida se verá algo como esto:

docker-compose version 1.25.5, build b02f1306

¡Eso es! Docker Compose se instaló en su máquina Ubuntu y puede comenzar a usarlo.

Primeros pasos con Docker Compose

En esta sección, usaremos Docker Compose para crear una aplicación de WordPress de varios contenedores.

El primer paso es crear un directorio del proyecto:

mkdir my_appcd my_app

Abra su editor de texto y cree un archivo llamado docker-compose.ymldentro del directorio del proyecto:

nano docker-compose.yml

Pegue el siguiente contenido:

docker-compose.yml
version: '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:

Analicemos la estructura del docker-compose.ymlarchivo.

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

A continuación, defina servicios, volúmenes y redes.

En este ejemplo, tenemos servicios, db, y wordpress. Cada servicio ejecuta una imagen y crea un contenedor separado cuando se ejecuta docker-compose.

Los servicios pueden usar imágenes que están disponibles en DockerHub o imágenes creadas a partir de Dockerfile. La sección de servicio también incluye claves que especifican puertos expuestos, volúmenes, variables de entorno, dependencias y otros comandos de Docker.

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

docker-compose up

Compose extraerá las imágenes, iniciará los contenedores y creará el wp_datadirectorio.

Entra http://0.0.0.0:8080/en tu navegador, y verás la pantalla de instalación de Wordpress. En este punto, la aplicación Wordpress está funcionando y puede comenzar a trabajar en su tema o complemento.

Para detener Redactar, presione CTRL+C.

También puede iniciar Compose en un modo separado pasando la -dopción:

docker-compose up -d

Para verificar los servicios en ejecución, use la psopción:

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 separado para detener los servicios, ejecute:

docker-compose stop

Para detener y eliminar los contenedores y redes de aplicaciones, utilice la downopción:

docker-compose down

Desinstalar Docker Compose

Para desinstalar Docker Compose, simplemente elimine el binario escribiendo:

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

Conclusión

Le mostramos cómo instalar Docker Compose en Ubuntu 20.04. El uso de Docker Compose puede mejorar significativamente su flujo de trabajo y productividad. Puedes definir tu entorno de desarrollo con Docker Compose y compartirlo con los colaboradores del proyecto.

Si tiene alguna pregunta, por favor deje un comentario a continuación.