--- 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, pendiente-usar] uses_functions: [] uses_types: [] returns: [] returns_optional: false error_type: "error_go_core" imports: [fmt, os/exec, strings] params: - name: composeFile desc: "ruta del archivo docker-compose.yml" - name: removeVolumes desc: "si true elimina tambien los volumes declarados" output: "stdout combinado con stderr de la ejecucion de docker compose down" 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.