--- name: docker_run_container kind: function lang: go domain: infra version: "1.0.0" purity: impure signature: "func DockerRunContainer(image string, opts DockerRunOpts) (string, error)" description: "Ejecuta un contenedor Docker nuevo a partir de una imagen. Soporta puertos, env vars, volumes, network, detach y auto-remove. Devuelve el ID del contenedor." tags: [docker, container, run, infra] uses_functions: [] uses_types: [] returns: [] returns_optional: false error_type: "error_go_core" imports: [fmt, os/exec, strings] tested: false tests: [] test_file_path: "" file_path: "functions/infra/docker_run_container.go" --- ## Ejemplo ```go id, err := DockerRunContainer("nginx:latest", DockerRunOpts{ Name: "web-server", Ports: []string{"8080:80"}, Env: map[string]string{"NGINX_HOST": "localhost"}, Detach: true, }) if err != nil { log.Fatal(err) } fmt.Println("Container ID:", id) ``` ## Notas `DockerRunOpts` es un struct de opciones definido en el mismo archivo. No se registra como tipo del registry porque es específico de esta función.