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:11] 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 58: | Línea 61: | ||
<sxh> | <sxh> | ||
- | # Comentario: Descripción del propósito de la imagen | + | FROM eclipse-temurin:17.0.10_7-jdk |
- | FROM imagen_base:version | + | |
</ | </ | ||
Línea 67: | Línea 69: | ||
<sxh> | <sxh> | ||
- | RUN comando1 | + | RUN mkdir /opt/app |
- | RUN comando2 | + | |
</ | </ | ||
Línea 75: | Línea 76: | ||
- **COPY**: Copia archivos desde la ruta de origen en la máquina host hacia el contenedor en la ruta de destino. | - **COPY**: Copia archivos desde la ruta de origen en la máquina host hacia el contenedor en la ruta de destino. | ||
<sxh> | <sxh> | ||
- | COPY origen destino | + | COPY / |
</ | </ | ||
Línea 84: | Línea 85: | ||
<sxh> | <sxh> | ||
- | EXPOSE | + | EXPOSE |
</ | </ | ||
+ | - **WORKDIR**: | ||
+ | <sxh> | ||
+ | WORKDIR /opt/app | ||
+ | </ | ||
- **ENV**: Define variables de entorno dentro del contenedor. | - **ENV**: Define variables de entorno dentro del contenedor. | ||
<sxh> | <sxh> | ||
- | ENV variable=valor | + | ENV ENTORNO=produccion |
</ | </ | ||
Línea 100: | Línea 105: | ||
<sxh> | <sxh> | ||
- | CMD ["comando", "argumento"] | + | CMD ["java", "-jar","/ |
</ | </ | ||
Línea 108: | Línea 113: | ||
</ | </ | ||
+ | ==== 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> | ||
+ | FROM eclipse-temurin: | ||
+ | RUN mkdir /opt/app | ||
+ | COPY / | ||
+ | CMD [" | ||
+ | </ | ||
+ | ==== 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 140: | 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 146: | 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 152: | 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 160: | Línea 195: | ||
==== Ejemplo de Uso ==== | ==== Ejemplo de Uso ==== | ||
- | Supongamos un archivo | + | Supongamos un archivo |
<sxh> | <sxh> |