---
name: assert_docker_container_running
kind: function
lang: bash
domain: infra
version: "1.0.0"
purity: impure
signature: "assert_docker_container_running(container_name: string) -> void"
description: "Verifica que un contenedor Docker está corriendo. Sale con exit code 1 si no está activo, con mensaje a stderr."
tags: [assert, docker, container, running, validation, infra, bash]
uses_functions: []
uses_types: []
returns: []
returns_optional: false
error_type: "error_go_core"
imports: []
params:
  - name: container_name
    desc: "nombre del contenedor Docker a verificar"
output: "sin salida; exit code 0 si existe y está corriendo, 1 si no"
tested: false
tests: []
test_file_path: ""
file_path: "bash/functions/infra/assert_docker_container_running.sh"
---

## Ejemplo

```bash
source functions/infra/assert_docker_container_running.sh

assert_docker_container_running metabase
echo "Contenedor activo, continuando..."
```

## Notas

Usa `docker ps --format '{{.Names}}'` con grep anclado (`^name$`) para evitar matches parciales (ej: "metabase" no matchea "metabase-test").

Output limpio: void en éxito. El mensaje de error en stderr no incluye lista de contenedores activos — eso es responsabilidad del pipeline/caller.

Requiere que `docker` esté en PATH. Combinar con `assert_command_exists` antes de llamar.
