Si hallas algún error en tu código o trabajo, recuerda probar siempre en un entorno de testing antes añadir el código al trabajo final.
Solución:
docker-compose
puede considerarse un contenedor alrededor de la CLI de la ventana acoplable (de hecho, es otra implementación en python como se dice en los comentarios) para ganar tiempo y evitar líneas de 500 caracteres (y también iniciar múltiples contenedores al mismo tiempo). Utiliza un archivo llamado docker-compose.yml
para recuperar parámetros.
Puede encontrar la referencia para el formato de archivo docker-compose aquí.
Así que básicamente docker-compose build
leerá tu docker-compose.yml
busque todos los servicios que contengan el build:
declaración y ejecutar una docker build
para cada uno.
Cada build:
puede especificar un Dockerfile
un contexto y argumentos para pasar a docker.
Para terminar con un ejemplo docker-compose.yml
expediente :
version: '3.2'
services:
database:
image: mariadb
restart: always
volumes:
- ./.data/sql:/var/lib/mysql
web:
build:
dockerfile: Dockerfile-alpine
context: ./web
ports:
- 8099:80
depends_on:
- database
al llamar docker-compose build
Solo el web
el objetivo necesitará una imagen para ser construido. los docker build
el comando se vería así:
docker build -t web_myproject -f Dockerfile-alpine ./web
docker-compose build
construirá los servicios en el docker-compose.yml
expediente.
https://docs.docker.com/compose/reference/build/
docker build
construirá la imagen definida por Dockerfile.
https://docs.docker.com/engine/reference/commandline/build/
Básicamente, docker-compose es una mejor manera de usar docker que solo un comando de docker.
Si la pregunta aquí es si el comando de compilación docker-compose creará una especie de zip que contiene varias imágenes, que de otro modo se habrían compilado por separado con Dockerfile habitual, entonces el pensamiento es incorrecto.
Docker-compose build creará imágenes individuales ingresando a la entrada de servicio individual en docker-compose.yml.
Con imágenes acoplables, comando, también podemos ver todas las imágenes individuales que se guardan.
La verdadera magia es docker-compose up.
Este básicamente creará una red de contenedores interconectados, que pueden comunicarse entre sí con un nombre de contenedor similar a un nombre de host.