Saltar al contenido

¿Qué es un archivo docker-compose.yml?

Solución:

Docker-componer es una herramienta que le permite implementar y administrar múltiples contenedores al mismo tiempo.
docke-compose.yml El archivo contiene instrucciones sobre cómo hacerlo.
En este archivo, instruyes Docker-componer por ejemplo:

  • De donde llevar Dockerfile para construir una imagen particular
  • Qué puertos quieres exponer
  • Cómo vincular contenedores
  • Qué puertos desea vincular a la máquina host
  • etc …

Docker-componer lee ese archivo y ejecuta comandos.
Esta usado en lugar de todos los parámetros opcionales al compilar y ejecutar un solo contenedor Docker.

Ejemplo:

version: '2'
services:
  nginx:
      build: ./nginx
      links:
          - django:django
          - angular:angular
      ports:
          - "80:80"
          - "8000:8000"
          - "443:443"
      networks:
       - my_net
  django:
      build: ./django
      expose:
          - "8000"
      networks:
       - my_net
  angular:
      build: ./angular2
      links:
          - django:django
      expose:
          - "80"
      networks:
        - my_net
networks:
  my_net:
    external:
      name: my_net

Este ejemplo instruye Docker-componer para:

  • Construir nginx desde la ruta ./nginx
  • Enlaces Angular y django contenedores (por lo que su IP en la red acoplable se resuelve por nombre)
  • Vincula puertos 80, 443, 8000 a la máquina host
  • Agréguelo a la red my_net
    (por lo que los 3 contenedores están en la misma red y, por lo tanto, son accesibles entre sí)

Entonces se hace similar para django y Angular envase.
Si solo usara comandos de la ventana acoplable, sería algo como:

docker build --name nginx .
docker run --link django:django angular:angular --expose 80 443 8000 --net my_net nginx

Entonces, aunque probablemente no desee escribir todas estas opciones y comandos para cada imagen / contenedor, puede escribir docker-compose.yml archivo en el que escribe todas estas instrucciones en un formato legible por humanos.
(Lo mismo se puede lograr con Ansible)

Un docker-compose.yml es un archivo de configuración para docker-compose.

permite desplegar, combinar y configurar múltiples contenedores acoplables al mismo tiempo. la “regla” de Docker es subcontratar cada proceso a un contenedor propio.

por ejemplo, un simple web docker-compose. necesita un servidor, una base de datos y php. para que pueda configurar tres contenedores docker con apache2, php y mysql.

la ventaja de docker-compose es la fácil configuración. no es necesario escribir una gran cantidad de parámetros en el bash. su puede predefinirlo en el docker-compose.yml.

db:
    image: mysql
    ports:
        - "3306:3306"
    environment:
        MYSQL_DATABASE: example_db
        MYSQL_USER: root
        MYSQL_PASSWORD: rootpw
php:
    image: php
    ports:
        - "80:80"
        - "443:443"
    volumes:
        - ./SRC:/var/www/
    links:
        - db

como puedes ver en mi ejemplo. Configuré los puertos, los volúmenes para los datos externos y los enlaces al otro contenedor de la ventana acoplable. es rápido, reproducible y no tan difícil de entender.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *