---
name: docker_exec_result
lang: go
domain: infra
version: "1.0.0"
algebraic: product
definition: |
  type DockerExecResult struct {
    ExitCode int
    Stdout   string
    Stderr   string
    Duration int64
  }
description: "Resultado de ejecutar un comando dentro de un container Docker via Engine API. ExitCode es el codigo de salida del proceso; Stdout/Stderr estan demuxeados del stream multiplexado; Duration es la duracion real en milisegundos."
tags: [docker, docker-agent, exec, infra]
uses_types: []
file_path: "functions/infra/docker_container_exec.go"
---

## Ejemplo

```go
result := infra.DockerExecResult{
    ExitCode: 0,
    Stdout:   "uid=0(root) gid=0(root) groups=0(root)\n",
    Stderr:   "",
    Duration: 42,
}
if result.ExitCode != 0 {
    log.Printf("command failed (exit %d): %s", result.ExitCode, result.Stderr)
}
```

## Notas

`ExitCode` refleja el exit code real del proceso ejecutado dentro del container, no el de la llamada HTTP. Si el proceso no termino (timeout, error de red), la funcion retorna error y `DockerExecResult` queda vacio. `Duration` mide tiempo wall-clock incluyendo overhead de red y demux.
