From 5f1b78ec8407c94e576a31aac05700dbfca20aa0 Mon Sep 17 00:00:00 2001 From: yusing Date: Mon, 24 Feb 2025 07:35:28 +0800 Subject: [PATCH] allow agent without docker connected --- agent/pkg/handler/docker_socket.go | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/agent/pkg/handler/docker_socket.go b/agent/pkg/handler/docker_socket.go index 7e2d132..27bedf2 100644 --- a/agent/pkg/handler/docker_socket.go +++ b/agent/pkg/handler/docker_socket.go @@ -12,10 +12,15 @@ import ( "github.com/yusing/go-proxy/internal/net/types" ) +func serviceUnavailable(w http.ResponseWriter, r *http.Request) { + http.Error(w, "docker socket is not available", http.StatusServiceUnavailable) +} + func DockerSocketHandler() http.HandlerFunc { - dockerClient, err := docker.ConnectClient(common.DockerHostFromEnv) + dockerClient, err := docker.NewClient(common.DockerHostFromEnv) if err != nil { - logging.Fatal().Err(err).Msg("failed to connect to docker client") + logging.Warn().Err(err).Msg("failed to connect to docker client") + return serviceUnavailable } rp := reverseproxy.NewReverseProxy("docker", types.NewURL(&url.URL{ Scheme: "http",