# Containerizar una aplicación C++


## Requisitos previos

- Tienes un [cliente git](https://git-scm.com/downloads). Los ejemplos de esta sección usan git por línea de comandos, pero puedes usar cualquier cliente.

## Descripción general

Esta sección te guía para containerizar y ejecutar una aplicación C++ con Docker Compose.

## Obtener la aplicación de ejemplo

Usamos el mismo repositorio de ejemplo de las secciones anteriores de esta guía. Si aún no lo has clonado, clónalo ahora:

```console
$ git clone https://github.com/dockersamples/c-plus-plus-docker.git
```

Ahora deberías tener el siguiente contenido en el directorio raíz `c-plus-plus-docker`.

```text
├── c-plus-plus-docker/
│ ├── compose.yml
│ ├── Dockerfile
│ ├── LICENSE
│ ├── ok_api.cpp
│ └── README.md

```

Para más información sobre los archivos del repositorio, consulta lo siguiente:

- [Dockerfile](/reference/dockerfile/)
- [.dockerignore](/reference/dockerfile/#dockerignore-file)
- [compose.yml](/reference/compose-file/)

## Ejecutar la aplicación

Dentro del directorio `c-plus-plus-docker`, ejecuta el siguiente comando en una
terminal.

```console
$ docker compose up --build
```

Abre un navegador y visita la aplicación en [http://localhost:8080](http://localhost:8080). Verás el mensaje `{"Status" : "OK"}` en el navegador.

En la terminal, pulsa `ctrl`+`c` para detener la aplicación.

### Ejecutar la aplicación en segundo plano

Puedes ejecutar la aplicación desacoplada de la terminal añadiendo la opción `-d`.
Dentro del directorio `c-plus-plus-docker`, ejecuta el siguiente comando
en una terminal.

```console
$ docker compose up --build -d
```

Abre un navegador y visita la aplicación en [http://localhost:8080](http://localhost:8080).

En la terminal, ejecuta el siguiente comando para detener la aplicación.

```console
$ docker compose down
```

Para más información sobre los comandos de Compose, consulta la [referencia de la CLI de Compose](/reference/cli/docker/compose/).

## Resumen

En esta sección aprendiste a containerizar y ejecutar tu aplicación C++
con Docker.

Información relacionada:

- [Descripción general de Docker Compose](/compose/)

## Próximos pasos

En la siguiente sección aprenderás a desarrollar tu aplicación con
contenedores.

