feat: docker_create_network y docker_remove_network en infra

Funciones para crear y eliminar redes Docker. DockerCreateNetwork
usa bridge como driver por defecto. Necesarias para pipelines que
orquestan múltiples contenedores en red compartida.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-03-28 17:13:45 +01:00
parent 9ba1f86c34
commit 79a2a21c5e
4 changed files with 103 additions and 0 deletions
+26
View File
@@ -0,0 +1,26 @@
package infra
import (
"fmt"
"os/exec"
"strings"
)
// DockerCreateNetwork crea una red Docker con el nombre y driver dados.
// Si el driver está vacío, usa "bridge" por defecto.
// Devuelve el ID de la red creada.
func DockerCreateNetwork(name, driver string) (string, error) {
if name == "" {
return "", fmt.Errorf("network name required")
}
if driver == "" {
driver = "bridge"
}
out, err := exec.Command("docker", "network", "create", "--driver", driver, name).CombinedOutput()
if err != nil {
return "", fmt.Errorf("docker network create %s: %s", name, strings.TrimSpace(string(out)))
}
return strings.TrimSpace(string(out)), nil
}