From ae80eb7d7b30f8f94cb9d18453f9d70a14e45dcb Mon Sep 17 00:00:00 2001 From: Benjamin Staffin Date: Fri, 11 Apr 2025 07:03:00 -0400 Subject: [PATCH] fix: Compress build context before sending it to Docker (#461) This fixes #439 by gzipping the build context, which prevents the Docker API from misinterpreting the stream as a plain text Dockerfile. Co-authored-by: Martin --- internal/provider/resource_docker_image_funcs.go | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/internal/provider/resource_docker_image_funcs.go b/internal/provider/resource_docker_image_funcs.go index 5c15e574..8ab6acbf 100644 --- a/internal/provider/resource_docker_image_funcs.go +++ b/internal/provider/resource_docker_image_funcs.go @@ -410,6 +410,15 @@ func prepareBuildContext(specifiedContext string, specifiedDockerfile string) (i if err != nil { return nil, "", err } + } + // Compress build context to avoid Docker misinterpreting it as plain text + if buildCtx != nil { + buildCtx, err = build.Compress(buildCtx) + if err != nil { + return nil, "", err + } + } + if relDockerfile != "" { return buildCtx, relDockerfile, nil } return buildCtx, specifiedDockerfile, nil