package infra import ( "fmt" "os/exec" "strings" ) // DockerComposeDown baja un stack docker-compose desde el archivo dado. // Si removeVolumes es true elimina tambiƩn los volumes (-v). Retorna el stdout del comando. func DockerComposeDown(composeFile string, removeVolumes bool) (string, error) { args := []string{"compose", "-f", composeFile, "down"} if removeVolumes { args = append(args, "-v") } out, err := exec.Command("docker", args...).CombinedOutput() if err != nil { return "", fmt.Errorf("docker compose down %s: %s", composeFile, strings.TrimSpace(string(out))) } return strings.TrimSpace(string(out)), nil }