Apuntes de Kirby
  • 👀whoami
  • 🦉Redes
    • Introducción Redes
      • Organizaciones
      • Historia
      • Puntos de conexión
      • Métodos de acceso a la red
    • Clasificación de las redes
    • Topología de las red
    • Direccionamiento IP
      • IPv4
        • Subredes IPv4
        • Superredes IPv4
        • VLSM
      • IPv6
      • MAC
      • NAT
    • Enrutamiento estático
    • Enrutamiento dinámico
      • RIPv1 & RIPv2
      • Tablas de enrutamiento
      • 🚧Redes conmutadas
    • CML
      • 🚧1er CML lab
    • CISCO
      • ¿Qué son las VLAN?
        • Ejemplo 1 de VLAN
        • Ejemplo 2 de VLAN
      • Acceso y password
      • NAT / PAT
    • Firewalls
      • Tipos de firewalls
      • ZPF
        • Funcionamiento
        • Configurando un ZPF
      • Sophos Firewall XG
        • Sophos home
        • Aprendiendo a usar Sophos
      • pfSense
        • Instalando pfSense
        • OpenVPN en pfSense
        • Port Forward
        • Alias
    • Proxy
      • Squid en pfSense
        • Squid Proxy Server
        • SquidGuard Proxy
      • Proxy reverse Nginx
    • 🚧Suricata
  • 🐝Servicios
    • Servidores Web
      • Nginx
        • NGINX, hosts virtuales
        • Hosts virtuales basados en dominio
        • PHP-FPM
        • Nginx: PHP y MySQL
          • MySQLi - PHP
        • En Alpine linux
        • 🚧Proxy
    • Servidores de correo
      • Seguridad en el correo
      • Postfix
      • hMailServer
      • Clientes de correo
        • Mailutils
        • Mutt
    • Servidores de FTP
      • FileZilla
      • VSFTPD
      • FTP vía IIS
    • Servidores DNS
      • DNS - Windows Server 2016
      • DNS - Ubuntu Server 22.04
      • Systemd
    • Servidores DHCP
      • DHCP-Windows Server 2016
      • DHCP-Ubuntu Server 22.04
    • Servidores MySQL
    • 🚧Mensajería instantánea
      • Ejabberd
    • 🚧Imágenes - Vídeos
      • FFMPEG + YT-DLP
      • Plex
      • Jellyfin
      • Plesk
      • RTMP
      • SRT
    • Webmin + Virtualmin
  • NextCloud
  • 🔑Seguridad
    • NAS
      • Instalación Synology NAS en VirtualBox
        • Creación de volúmenes y su uso
        • Actualización Synology NAS
        • Creación de usuarios y carpetas compartidas
        • Funciones del panel de control
          • Acceso por SSH
          • Configuración de los servicios de archivos
          • Configuración de red
          • Copias de seguridad (restauración)
          • Seguridad
          • Personalizar páginas de inicio
          • Servicio de notificaciones
        • Centro de paquetes Synology
          • Servidores multimedia
          • Paquetes de utilidades
          • Cloud Sync
          • Hyper Backup
          • Synology Office
      • Truenas
        • Rsync en Truenas
      • OpenmediaVault
    • Backups
      • Rsync
        • Ejemplo de rsync
    • ¿Qué son las ACL?
    • SOPS/AGE
    • RAID
      • mdadm
  • 🐳Virtualización
    • Proxmox
      • Instalar en VMWare
      • Instalar en VirtualBox
      • Entorno Proxmox
      • Almacenamiento local
      • Añadir discos
      • Clonar
      • Qemu agent
      • Linux container - LXC
      • Clúster
      • Red Interna
      • 🚧Proxmox Backup
      • 🚧Otras consideraciones
    • Alpine Linux
    • Contenedores
      • Docker
        • YAML
        • Instalando Docker
        • Portainer
          • Instalando Portainer
          • Dentro de Portainer
        • Docker volumen
        • Docker compose
          • Docker: PHP y MySQL
          • Importar sitio web en Docker
          • Instalando Wordpress
      • Pi-hole
        • Instalando Pi-hole en Docker
        • Instalando Pi-hole en Debian
        • RDP
          • RDP - Docker
  • 🐞Misceláneas
    • Datos - codificación
    • IPTables
    • Túnel con Cloudflare
    • Servidor de video
    • Comandos de Linux
    • Anaconda & Spyder
    • CGI - NGINX
    • Arduino
      • Capítulo 0 Blink
      • Capítulo 1 Led
      • Capítulo 2 Botton & LED
  • ⁉️Interesante
    • Curioso
    • Ideas
Powered by GitBook
On this page
  • Comandos básicos de docker-compose
  • Links

Was this helpful?

Edit on GitHub
  1. Virtualización
  2. Contenedores
  3. Docker

Docker compose

PreviousDocker volumenNextDocker: PHP y MySQL

Last updated 1 year ago

Was this helpful?

Se trata de una utilidad de Docker que nos ayuda a la hora de crear múltiples contenedores Docker al mismo tiempo. Esto es, una herramienta que facilita la orquestación local de contenedores, con el objetivo de definir y ejecutar aplicaciones Docker de varios contenedores de forma fácil y rápida.

Esta definición y orquestación se lleva a cabo de forma local en el interior de los contenedores, que se encuentran unidos a través de una .

A diferencia de Docker Cli éste no hay que crearlo directamente en la terminal, sino que se crea un archivo YAML que es más fácil de ser modificado y configurado que en la propia terminal.

Este tipo de ficheros .yml nos sirven para definir la configuración de la aplicación en cuestión. De esta manera podemos, con un solo comando, crear e iniciar los servicios configurados en estos archivos.

Uno de los aspectos a tener en cuenta es establecer los servicios que componen las aplicación en un fichero -compose.yml, para que se pueda utilizar en un entorno aislado y así, una vez creado, solo se tiene que ejecutar un comando por terminal que comprobará el archivo e instalará y configurará lo que le hemos descrito en el mismo.

Una característica del Docker Compose estriba en su capacidad para contener diversos entornos dentro de una misma máquina de host, así como su capacidad de mantener y preservar datos de volumen una vez se crean los diferentes contenedores.

Veamos algunas de sus características:

Multiplicidad de entornos en un solo host. La posibilidad de utilizar un nombre (de proyecto), para aislar los entornos entre sí. Dicho nombre se puede utilizar en un host de desarrollo para crear diversas copias de un mismo entorno.

Conservar los datos de volumen. Permite la preservación de la información de volumen en los casos donde los contenedores se crean en el sistema; es decir, puede conservar la totalidad de los volúmenes de sus servicios.

Recrear contendores que hayan sido modificados. Almacena en caché toda la información relacionada con los ajustes y configuraciones usados para crear un contenedor. En los casos donde un servicio que no ha cambiado se reinicia, Compose se encarga de reutilizar los contenedores que ya existen. Esto posibilita que el sistema pueda llevar a cabo cambios dentro de su entorno de forma muy rápida.

Comandos básicos de docker-compose

Algunos comandos que nos pueden ser útiles a la hora de manipular los contenedores descritosen un archivo de docker-compose.yml

  • docker-compose up: Crea los contenedores (servicios) que están descritos en el docker-compose.yml.

  • docker-compose up -d: Crea en modo detach los contenedores (servicios) que están descritos en el docker-compose.yml y no muestra mensajes de log en el terminal y se vuelve a mostrar un prompt.

  • docker-compose stop: Detiene los contenedores que previamente se han lanzado con docker-compose up.

  • docker-compose run: Inicia los contenedores descritos en el docker-compose.yml que estén detenidos.

  • docker-compose rm: Borra los contenedores detenidos. La opción -f elimina también los contenedores en ejecución.

  • docker-compose build: buscará el archivo docker-compose.yml en la carpeta actual, ejecuta el proceso de construcción de la imagen y desplegará los contenedores que estén indicados.

  • docker-compose down: Detiene los contenedores, los borra y también elimina las redes que se han creado con docker-compose up (en caso de haberse creado).

  • docker-compose down -v: Para los contenedores y borra contenedores, redes y volúmenes.

  • docker-compose logs: Muestra los logs de todos los servicios del escenario. Si utilizamos el parámetro -f podemos ver los logs en “vivo”.

  • docker-compose logs servicio_1: Muestra los logs del servicio llamado servicio_1 que estaba descrito en el docker-compose.yml.

  • docker-compose exec servicio_1 /bin/bash: Ejecuta una orden, en este caso /bin/bash en un contenedor llamado servicio_1 que estaba descrito en el docker-compose.yml.

Links

🐳
https://keepcoding.io/blog/que-es-docker-compose/
https://coffeebytes.dev/docker-compose-tutorial-con-comandos-en-gnu-linux/
red de Docker
docker