Contoso es una empresa que vende productos para varias actividades al aire libre. El departamento de marketing de Contoso quiere lanzar un sitio web de redes sociales micro para promocionar sus productos a clientes existentes y potenciales.
Ahora tienen tanto una aplicación backend basada en Java como una aplicación frontend basada en .NET. Quieren contenedorizarlas para que puedan ser desplegadas en cualquier plataforma.
Ahora, como ingeniero DevOps, debes contenedorizar ambas aplicaciones.
Consulta el documento README para la preparación.
- Verificar Modo Agente de GitHub Copilot
- Preparar Instrucciones Personalizadas
- Contenedorizar Aplicación Java
- Contenedorizar Aplicación .NET
- Orquestar Contenedores
-
Haz clic en el ícono de GitHub Copilot en la parte superior de GitHub Codespace o VS Code y abre la ventana de GitHub Copilot.
-
Si se te pide iniciar sesión o registrarte, hazlo. Es gratuito.
-
Asegúrate de estar usando el Modo Agente de GitHub Copilot.
-
Selecciona el modelo ya sea
GPT-4.1oClaude Sonnet 4. -
Asegúrate de haber configurado Servidores MCP.
-
Establece la variable de entorno de
$REPOSITORY_ROOT.# bash/zsh REPOSITORY_ROOT=$(git rev-parse --show-toplevel)
# PowerShell $REPOSITORY_ROOT = git rev-parse --show-toplevel
-
Copia las instrucciones personalizadas.
# bash/zsh cp -r $REPOSITORY_ROOT/docs/custom-instructions/containerization/. \ $REPOSITORY_ROOT/.github/
# PowerShell Copy-Item -Path $REPOSITORY_ROOT/docs/custom-instructions/containerization/* ` -Destination $REPOSITORY_ROOT/.github/ -Recurse -Force
-
Asegúrate de estar usando el Modo Agente de GitHub Copilot con el modelo
Claude Sonnet 4oGPT-4.1. -
Usa un prompt como el siguiente para construir una imagen de contenedor para la aplicación Java.
Me gustaría construir una imagen de contenedor de una aplicación Java. Sigue las instrucciones a continuación. - Identifica primero todos los pasos que vas a hacer. - La aplicación Java se encuentra en `java/socialapp`. - Tu directorio de trabajo es la raíz del repositorio. - Crea un Dockerfile, `Dockerfile.java`. - Usa Microsoft OpenJDK 21. - Usa el enfoque de construcción multi-etapa. - Extrae JRE del JDK. - Usa el número de puerto objetivo `8080` para la imagen del contenedor. - Agrega ambas variables de entorno, `CODESPACE_NAME` y `GITHUB_CODESPACES_PORT_FORWARDING_DOMAIN` del host a la imagen del contenedor. - Crea un archivo de base de datos SQLite, `sns_api.db`, en la imagen del contenedor. NO copies el archivo del host. -
Haz clic en el botón
de GitHub Copilot para tomar los cambios.
-
Una vez que
Dockerfile.javaesté creado, construye la imagen del contenedor con el siguiente prompt.Usa `Dockerfile.java` y construye una imagen de contenedor. - Usa `contoso-backend` como el nombre de la imagen del contenedor. - Usa `latest` como la etiqueta de la imagen del contenedor. - Verifica si la imagen del contenedor se construye correctamente. - Si la construcción falla, analiza los problemas y corrígelos. -
Haz clic en el botón
de GitHub Copilot para tomar los cambios.
-
Una vez que la construcción tenga éxito, ejecuta la imagen del contenedor con el siguiente prompt.
Usa la imagen del contenedor recién construida, ejecuta un contenedor y verifica si la aplicación se está ejecutando correctamente. - Usa el puerto del host `8080`. - Ambos valores `CODESPACE_NAME` y `GITHUB_CODESPACES_PORT_FORWARDING_DOMAIN` deben ser los de GitHub Codespaces.
-
Asegúrate de estar usando el Modo Agente de GitHub Copilot con el modelo
Claude Sonnet 4oGPT-4.1. -
Usa un prompt como el siguiente para construir una imagen de contenedor para la aplicación .NET.
Me gustaría construir una imagen de contenedor de una aplicación .NET. Sigue las instrucciones a continuación. - Identifica primero todos los pasos que vas a hacer. - La aplicación .NET se encuentra en `dotnet`. - Tu directorio de trabajo es la raíz del repositorio. - Crea un Dockerfile, `Dockerfile.dotnet`. - Usa .NET 9. - Usa el enfoque de construcción multi-etapa. - Usa el número de puerto objetivo `8080` para la imagen del contenedor. - Agrega la variable de entorno, `ApiSettings__BaseUrl` al contenedor. Debe apuntar a la aplicación Java, `http://localhost:8080/api`. -
Haz clic en el botón
de GitHub Copilot para tomar los cambios.
-
Una vez que
Dockerfile.dotnetesté creado, construye la imagen del contenedor con el siguiente prompt.Usa `Dockerfile.dotnet` y construye una imagen de contenedor. - Usa `contoso-frontend` como el nombre de la imagen del contenedor. - Usa `latest` como la etiqueta de la imagen del contenedor. - Verifica si la imagen del contenedor se construye correctamente. - Si la construcción falla, analiza los problemas y corrígelos. -
Haz clic en el botón
de GitHub Copilot para tomar los cambios.
-
Una vez que la construcción tenga éxito, ejecuta la imagen del contenedor con el siguiente prompt.
Usa la imagen del contenedor recién construida, ejecuta un contenedor y verifica si la aplicación se está ejecutando correctamente. - Usa el puerto del host `3030`. - Pasa la variable de entorno `ApiSettings__BaseUrl` el valor de `http://localhost:8080/api`. -
Asegúrate de que tanto las aplicaciones frontend como backend NO se estén comunicando entre sí porque aún no se conocen. Ejecuta el prompt como el siguiente.
Remueve ambos contenedores Java y .NET y sus respectivas imágenes de contenedor.
-
Asegúrate de estar usando el Modo Agente de GitHub Copilot con el modelo
Claude Sonnet 4oGPT-4.1. -
Usa un prompt como el siguiente para construir un archivo Docker Compose.
Me gustaría crear un archivo Docker Compose. Sigue las instrucciones a continuación. - Identifica primero todos los pasos que vas a hacer. - Tu directorio de trabajo es la raíz del repositorio. - Usa `Dockerfile.java` como aplicación backend. - Usa `Dockerfile.dotnet` como aplicación frontend. - Crea `compose.yaml` como el archivo Docker Compose. - Usa `contoso` como el nombre de la red. - Usa `contoso-backend` como el nombre del contenedor de la aplicación Java. Su puerto objetivo es 8080, y el puerto del host es 8080. - Usa `contoso-frontend` como el nombre del contenedor de la aplicación .NET. Su puerto objetivo es 8080, y el puerto del host es 3030. - Agrega ambas variables de entorno, `CODESPACE_NAME` y `GITHUB_CODESPACES_PORT_FORWARDING_DOMAIN` del host al contenedor Java. - Agrega la variable de entorno, `ApiSettings__BaseUrl` al contenedor .NET. Debe apuntar al `/api` de la aplicación Java. -
Haz clic en el botón
de GitHub Copilot para tomar los cambios.
-
Una vez que el archivo
compose.yamlesté creado, ejecútalo y verifica si ambas aplicaciones se están ejecutando correctamente.Ejecuta el archivo Docker compose y verifica si todas las aplicaciones se están ejecutando correctamente. -
Abre un navegador web y navega a
http://localhost:3030, y verifica si las aplicaciones están funcionando correctamente.
¡Felicidades! 🎉 ¡Has completado todas las sesiones del taller exitosamente!
Disclaimer: Este documento ha sido localizado por GitHub Copilot. Por lo tanto, puede contener errores. Si encuentras alguna traducción que sea inapropiada o errónea, por favor crea un issue.

