# Conteneriza una aplicación Next.js


Esta guía te muestra cómo contenerizar una aplicación Next.js usando Docker, siguiendo las mejores prácticas para crear contenedores eficientes y listos para producción.

[Next.js](https://nextjs.org/) es un framework de React que permite el renderizado en el lado del servidor (server-side rendering), la generación de sitios estáticos (static site generation) y capacidades full-stack. Docker proporciona un entorno de contenedores consistente desde el desarrollo hasta la producción.

> **Agradecimiento**
>
> Docker expresa su sincero agradecimiento a [Kristiyan Velkov](https://www.linkedin.com/in/kristiyan-velkov-763130b3/) por escribir esta guía y contribuir con los ejemplos oficiales de [Docker para Next.js](https://github.com/vercel/next.js/tree/canary/examples/with-docker) al repositorio de Vercel Next.js, incluyendo los ejemplos de salida standalone y export. Como Docker Captain e ingeniero experimentado, su experiencia en Docker, DevOps y desarrollo web moderno ha hecho que este recurso sea invaluable para la comunidad, ayudando a los desarrolladores a navegar y optimizar sus flujos de trabajo con Docker.

---

## ¿Qué aprenderás?

En esta guía, aprenderás a:

- Contenerizar y ejecutar una aplicación Next.js usando Docker.
- Configurar un entorno de desarrollo local para Next.js dentro de un contenedor.
- Ejecutar pruebas para tu aplicación Next.js dentro de un contenedor Docker.
- Configurar un flujo de trabajo (pipeline) de CI/CD usando GitHub Actions para tu aplicación contenerizada.
- Desplegar la aplicación Next.js contenerizada en un clúster de Kubernetes local para pruebas y depuración.

Para comenzar, empezarás contenerizando una aplicación Next.js existente.

---

## Prerrequisitos

Antes de comenzar, asegúrate de estar familiarizado con lo siguiente:

- Comprensión básica de [JavaScript](https://developer.mozilla.org/en-US/docs/Web/JavaScript) o [TypeScript](https://www.typescriptlang.org/).
- Conocimiento básico de [Node.js](https://nodejs.org/en) y [npm](https://docs.npmjs.com/about-npm) para gestionar dependencias y ejecutar scripts.
- Familiaridad con los conceptos fundamentales de [React](https://react.dev/) y [Next.js](https://nextjs.org/).
- Comprensión de los conceptos de Docker, como imágenes, contenedores y Dockerfiles. Si eres nuevo en Docker, comienza con la guía de [conceptos básicos de Docker](/get-started/docker-concepts/the-basics/what-is-a-container/).

Una vez que hayas completado los módulos de inicio de Next.js, estarás listo para contenerizar tu propia aplicación Next.js utilizando los ejemplos e instrucciones que se proporcionan en esta guía.

