# Guía específica para el lenguaje Go


Esta guía te mostrará cómo crear, probar y desplegar aplicaciones Go contenedorizadas utilizando Docker.

> **Agradecimiento**
>
> Docker desea agradecer a [Oliver Frolovs](https://www.linkedin.com/in/ofr/) por su contribución a esta guía.

## ¿Qué aprenderás?

En esta guía, aprenderás a:

- Crear un `Dockerfile` que contenga las instrucciones para construir una imagen de contenedor para un programa escrito en Go.
- Ejecutar la imagen como un contenedor en tu instancia local de Docker y gestionar el ciclo de vida del contenedor.
- Utilizar construcciones multi-etapa (multi-stage builds) para construir imágenes pequeñas de manera eficiente, manteniendo tus Dockerfiles fáciles de leer y mantener.
- Utilizar Docker Compose para orquestar la ejecución conjunta de múltiples contenedores relacionados en un entorno de desarrollo.
- Configurar un pipeline de CI/CD para tu aplicación utilizando [GitHub Actions](https://docs.github.com/en/actions).
- Desplegar tu aplicación Go contenedorizada.

## Requisitos previos

Se asume que tienes conocimientos básicos de Go y su conjunto de herramientas (toolchain). Esta no es una guía para aprender Go. Si eres nuevo en el lenguaje, el [sitio web de Go](https://golang.org/) es un excelente lugar para explorar.

También debes conocer algunos [conceptos básicos de Docker](/get-started/docker-concepts/the-basics/what-is-a-container/), así como estar al menos vagamente familiarizado con el [formato del Dockerfile](/build/concepts/dockerfile/).

Tu configuración de Docker debe tener habilitado BuildKit. BuildKit está habilitado por defecto para todos los usuarios en [Docker Desktop](/desktop/). Si has instalado Docker Desktop, no tienes que habilitar BuildKit manualmente. Si ejecutas Docker en Linux, consulta la página de [primeros pasos con BuildKit](/build/buildkit/#getting-started).

También se espera cierta familiaridad con la línea de comandos.

## ¿Qué sigue?

El objetivo de esta guía es proporcionar suficientes ejemplos e instrucciones para que puedas contenedorizar tu propia aplicación Go y desplegarla en la nube.

Comienza por construir tu primera imagen de Go.

