Muestra las diferencias entre dos versiones de la página.
Ambos lados, revisión anterior Revisión previa Próxima revisión | Revisión previa Próxima revisión Ambos lados, revisión siguiente | ||
clase:daw:daw:2eval:tema08 [2024/02/03 23:16] admin [Creación de imágenes] |
clase:daw:daw:2eval:tema08 [2024/02/04 11:36] admin [Creación de imágenes] |
||
---|---|---|---|
Línea 44: | Línea 44: | ||
# Expone un puerto en el contenedor | # Expone un puerto en el contenedor | ||
EXPOSE puerto | EXPOSE puerto | ||
+ | |||
+ | #El directorio de trabajo | ||
+ | WORKDIR /directorio | ||
# Define variables de entorno | # Define variables de entorno | ||
Línea 85: | Línea 88: | ||
</ | </ | ||
+ | - **WORKDIR**: | ||
+ | <sxh> | ||
+ | WORKDIR /opt/app | ||
+ | </ | ||
- **ENV**: Define variables de entorno dentro del contenedor. | - **ENV**: Define variables de entorno dentro del contenedor. | ||
Línea 105: | Línea 112: | ||
Las diferencias entre '' | Las diferencias entre '' | ||
</ | </ | ||
+ | |||
+ | ==== Ejemplo: Ejecutar app java ==== | ||
+ | * Una imagen basada en el JDK 17 | ||
+ | * Copia el fichero de la máquina real que está en ''/ | ||
+ | * Ejecuta el japp.jar | ||
<sxh base> | <sxh base> | ||
Línea 110: | Línea 122: | ||
RUN mkdir /opt/app | RUN mkdir /opt/app | ||
COPY / | COPY / | ||
- | EXPOSE 8080 | + | CMD ["sh", "-c" , " |
- | ENV ENTORNO=produccion | + | |
- | CMD ["java", " | + | |
</ | </ | ||
+ | ==== Ejemplo: Compilar con maven ==== | ||
+ | |||
+ | |||
+ | <sxh base> | ||
+ | FROM maven: | ||
+ | |||
+ | RUN mkdir / | ||
+ | WORKDIR / | ||
+ | |||
+ | |||
+ | RUN echo "git clone https:// | ||
+ | RUN echo "cd prueba_spring" | ||
+ | RUN echo "mvn dependency: | ||
+ | RUN echo "mvn clean" >> / | ||
+ | RUN echo "mvn clean package" | ||
+ | RUN chmod ugo+x build.sh | ||
+ | |||
+ | |||
+ | CMD [" | ||
+ | </ | ||
===== Docker Compose ===== | ===== Docker Compose ===== | ||
- | Docker Compose es una herramienta que permite definir y administrar aplicaciones Docker de múltiples contenedores. Utiliza un archivo YAML para configurar los servicios, las redes y los volúmenes, facilitando la definición y el despliegue de aplicaciones complejas. | + | Docker Compose es una herramienta que permite definir y administrar aplicaciones Docker de múltiples contenedores. Utiliza un archivo |
==== Estructura Básica de un archivo docker-compose.yml ==== | ==== Estructura Básica de un archivo docker-compose.yml ==== | ||
- | Un archivo | + | Un archivo |
<sxh> | <sxh> | ||
Línea 145: | Línea 175: | ||
==== Comandos Básicos de Docker Compose ==== | ==== Comandos Básicos de Docker Compose ==== | ||
- | - Iniciar la aplicación basada en la configuración de `docker-compose.yml`. | + | - Iniciar la aplicación basada en la configuración de '' |
<sxh bash> | <sxh bash> | ||
Línea 151: | Línea 181: | ||
</ | </ | ||
- | - Detener y eliminar los contenedores definidos en el archivo | + | - Detener y eliminar los contenedores definidos en el archivo |
<sxh bash> | <sxh bash> | ||
Línea 157: | Línea 187: | ||
</ | </ | ||
- | - Muestra el estado de los contenedores definidos en el archivo | + | - Muestra el estado de los contenedores definidos en el archivo |
<sxh bash> | <sxh bash> | ||
Línea 165: | Línea 195: | ||
==== Ejemplo de Uso ==== | ==== Ejemplo de Uso ==== | ||
- | Supongamos un archivo | + | Supongamos un archivo |
<sxh> | <sxh> |