Diferencia entre revisiones de «Usuario:ManuelRomero/Docker/dockerComposer»
De WikiEducator
(→Sintaxis) |
|||
Línea 32: | Línea 32: | ||
+ | *Por lo tanto podemos establcer que tenemos elementos de diferentes niveles, por ejemplo tenemos el elemento <span class="r">services</span>, que especifica que voy a declarar un servicio y dentro de él, habrá directivas para establecer la confugración de dicho servicio como <span class="r">build, | ||
===Sintaxis=== | ===Sintaxis=== | ||
+ | *En el primer nivel las principales directivas que podemos tener son: | ||
+ | *1.-'''''version''''': especifica la versión de la sintaxis utilizada en el archivo de configuración. | ||
+ | *2.-'''''services''''': define los contenedores que se deben ejecutar como parte de la aplicación. | ||
+ | *3.-'''''volumes''''': define los volúmenes utilizados por los contenedores. | ||
+ | *4.-'''''networks''''': define las redes utilizadas por los contenedores. | ||
+ | *5.-'''''configs''''': define los archivos de configuración que se deben utilizar para la aplicación. | ||
+ | *6.-'''''secrets''''': define los secretos que se deben utilizar para la aplicación. | ||
+ | *7.-'''''x''''': es una extensión que se puede usar para añadir cualquier opción personalizada, estas son específicas para cada proyecto. | ||
;version | ;version | ||
*La primera línea es la versión <span class="r">version</span> de docker-composer que usamos | *La primera línea es la versión <span class="r">version</span> de docker-composer que usamos |
Revisión de 23:28 14 ene 2023
Docker Compose
- Es una aplicación o herramienta que voy a ejectuar para gestionar un sistema dockerizado, es decir, nos va a permitir ejecutar una aplicación usando varios contenedores relacionados entre sí, describiéndolo en un fichero de configuración llamado docker-compose.yml.
(: Con docker-compose se pueden definir y ejecutar aplicaciones multi-contenedor en una forma sencilla y ordenada.)
Fichero de configuración : docker-compose.yml
- El formato del fichero es yaml donde se especifican directivas o variables de la forma
nombre:valor
- En este fichero la indentación es importante lo que establece una jerarquía en los elementos (qué elemento es hijo de cuál otro)
version: '3.7' services: db: image: mysql:5.7 environment: MYSQL_ROOT_PASSWORD: example volumes: - db_data:/var/lib/mysql web: build: . ports: - "80:80" depends_on: - db volumes: db_data:
- La primera línea debe de ser la versión que usamos (ver siguiente item)
- La siguiente figura ilustra la agrupación de elementos:
- Por lo tanto podemos establcer que tenemos elementos de diferentes niveles, por ejemplo tenemos el elemento services, que especifica que voy a declarar un servicio y dentro de él, habrá directivas para establecer la confugración de dicho servicio como build,
Sintaxis
- En el primer nivel las principales directivas que podemos tener son:
- 1.-version: especifica la versión de la sintaxis utilizada en el archivo de configuración.
- 2.-services: define los contenedores que se deben ejecutar como parte de la aplicación.
- 3.-volumes: define los volúmenes utilizados por los contenedores.
- 4.-networks: define las redes utilizadas por los contenedores.
- 5.-configs: define los archivos de configuración que se deben utilizar para la aplicación.
- 6.-secrets: define los secretos que se deben utilizar para la aplicación.
- 7.-x: es una extensión que se puede usar para añadir cualquier opción personalizada, estas son específicas para cada proyecto.
- version
- La primera línea es la versión version de docker-composer que usamos
- Las versiones suelen ser compatibles con versiones anteriores y pueden añadir nuevas funcionalidades (revisar documentación).ç
- Una versión de docker-compose soporta una determinada versión de docker (https://docs.docker.com/compose/compose-file/compose-versioning/)
version: '3.9' #....
(: version debe de ser la primera línea del fichero de configuración )
- elementos de primer nivel
</div>