79a2a21c5e
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>
27 lines
658 B
Go
27 lines
658 B
Go
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
|
|
}
|