--- name: docker_compose_down kind: function lang: go domain: infra version: "1.0.0" purity: impure signature: "func DockerComposeDown(composeFile string, removeVolumes bool) (string, error)" description: "Baja un stack docker-compose desde el archivo dado. Si removeVolumes es true elimina tambiƩn los volumes declarados (-v). Retorna el stdout del comando." tags: [docker, compose, down, infra] uses_functions: [] uses_types: [] returns: [] returns_optional: false error_type: "error_go_core" imports: [fmt, os/exec, strings] tested: true tests: ["removeVolumes true agrega flag -v al comando", "error si composeFile no existe"] test_file_path: "functions/infra/docker_compose_down_test.go" file_path: "functions/infra/docker_compose_down.go" --- ## Ejemplo ```go // Bajar stack y limpiar volumes out, err := DockerComposeDown("./docker-compose.yml", true) if err != nil { log.Fatal(err) } fmt.Println(out) ``` ## Notas Ejecuta `docker compose -f composeFile down [-v]`. Usa el subcomando `docker compose` (V2). El flag -v elimina volumes nombrados declarados en el compose file, no volumes externos. Retorna stdout + stderr combinados.