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:
@@ -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
|
||||
}
|
||||
Reference in New Issue
Block a user