Herramientas de usuario

Herramientas del sitio


clase:daw:daw:2eval:tema08

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

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:10]
admin [Estructura Básica del Dockerfile]
clase:daw:daw:2eval:tema08 [2024/02/04 12:33]
admin [Creación de imágenes]
Línea 14: Línea 14:
 El comando ''docker build'' se utiliza para construir imágenes de contenedor Docker a partir de un Dockerfile. A continuación se presentan las principales características y uso de este comando. El comando ''docker build'' se utiliza para construir imágenes de contenedor Docker a partir de un Dockerfile. A continuación se presentan las principales características y uso de este comando.
  
-<shx>+<sxh>
   docker build -t nombre_imagen:etiqueta ruta_del_dockerfile   docker build -t nombre_imagen:etiqueta ruta_del_dockerfile
-</shx>+</sxh>
  
 Donde: Donde:
Línea 23: Línea 23:
  
   * Ejemplo de uso: Crea la imagen llamada ''mi_aplicacion_web:1.0'' sabiendo que el fichero ''Dockerfile'' está en la carpeta actual.   * Ejemplo de uso: Crea la imagen llamada ''mi_aplicacion_web:1.0'' sabiendo que el fichero ''Dockerfile'' está en la carpeta actual.
-<shx>+<sxh>
 docker build -t mi_aplicacion_web:1.0 . docker build -t mi_aplicacion_web:1.0 .
-</shx>+</sxh>
  
  
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  # Especifica la imagen base+
 </sxh> </sxh>
  
Línea 67: Línea 69:
  
 <sxh> <sxh>
-RUN comando1 +RUN mkdir /opt/app
-RUN comando2+
 </sxh> </sxh>
  
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 /opt/peliculas/target/japp.jar /opt/app
 </sxh> </sxh>
  
Línea 84: Línea 85:
  
 <sxh> <sxh>
-EXPOSE puerto+EXPOSE 8080
 </sxh> </sxh>
  
 +- **WORKDIR**: Establece el directorio de trabajo para cualquier instrucción posterior en el Dockerfile.
  
 +<sxh>
 +WORKDIR /opt/app
 +</sxh>
  
 - **ENV**: Define variables de entorno dentro del contenedor. - **ENV**: Define variables de entorno dentro del contenedor.
  
 <sxh> <sxh>
-ENV variable=valor+ENV ENTORNO=produccion
 </sxh> </sxh>
  
Línea 100: Línea 105:
  
 <sxh> <sxh>
-CMD ["comando", "argumento"]+CMD ["java", "-jar","/opt/app/japp.jar"]
 </sxh> </sxh>
  
Línea 108: Línea 113:
 </note> </note>
  
 +==== Ejemplo: Ejecutar app java ====
 +  * Una imagen basada en el JDK 17 
 +  * Copia el fichero de la máquina real que está en ''/opt/peliculas/target/japp.jar'' dentro de loa imagen en la carpeta ''/opt/app''
 +  * Ejecuta el japp.jar
  
 +<sxh base>
 +FROM eclipse-temurin:17.0.10_7-jdk
 +RUN mkdir /opt/app
 +COPY /opt/peliculas/target/japp.jar /opt/app
 +CMD ["sh", "-c" , "-jar","/opt/app/japp.jar"]
 +</sxh>
  
  
 ===== 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 [[https://es.wikipedia.org/wiki/YAML|YAML]] para configurar los servicios, las redes y los volúmenes, facilitando la definición y el despliegue de aplicaciones complejas.
  
 ==== Estructura Básica de un archivo docker-compose.yml ==== ==== Estructura Básica de un archivo docker-compose.yml ====
  
-Un archivo `docker-compose.ymldefine la configuración de una aplicación multi-contenedor. Aquí se presentan las secciones principales:+Un archivo ''docker-compose.yml'' define la configuración de una aplicación multi-contenedor. Aquí se presentan las secciones principales:
  
 <sxh> <sxh>
Línea 140: Línea 155:
 ==== 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 ''docker-compose.yml''.
  
 <sxh bash> <sxh bash>
Línea 146: Línea 161:
 </sxh> </sxh>
  
-  - Detener y eliminar los contenedores definidos en el archivo `docker-compose.yml`.+  - Detener y eliminar los contenedores definidos en el archivo ''docker-compose.yml''.
  
 <sxh bash> <sxh bash>
Línea 152: Línea 167:
 </sxh> </sxh>
  
-- Muestra el estado de los contenedores definidos en el archivo `docker-compose.yml`.+- Muestra el estado de los contenedores definidos en el archivo ''docker-compose.yml''.
  
 <sxh bash> <sxh bash>
Línea 160: Línea 175:
 ==== Ejemplo de Uso ==== ==== Ejemplo de Uso ====
  
-Supongamos un archivo `docker-compose.ymlpara una aplicación web con un servicio de frontend y otro de base de datos:+Supongamos un archivo ''docker-compose.yml'' para una aplicación web con un servicio de frontend y otro de base de datos:
  
 <sxh> <sxh>
clase/daw/daw/2eval/tema08.txt · Última modificación: 2024/05/10 19:51 por admin