dockerimg: fix cross compile command
diff --git a/dockerimg/dockerimg.go b/dockerimg/dockerimg.go
index 72110da..8ebb13d 100644
--- a/dockerimg/dockerimg.go
+++ b/dockerimg/dockerimg.go
@@ -326,7 +326,8 @@
 func createDockerContainer(ctx context.Context, cntrName, hostPort, relPath, imgName string, config ContainerConfig) error {
 	//, config.SessionID, config.GitUsername, config.GitEmail, config.SkabandAddr
 	// sessionID, gitUsername, gitEmail, skabandAddr string
-	cmdArgs := []string{"create",
+	cmdArgs := []string{
+		"create",
 		"-it",
 		"--name", cntrName,
 		"-p", hostPort + ":80", // forward container port 80 to a host port
@@ -360,10 +361,14 @@
 }
 
 func buildLinuxSketchBin(ctx context.Context, path string) (string, error) {
+	tmpGopath, err := os.MkdirTemp("", "sketch-linux-build")
+	if err != nil {
+		return "", err
+	}
+
 	start := time.Now()
-	linuxSketchBin := filepath.Join(path, "tmp-sketch-binary-linux")
-	cmd := exec.CommandContext(ctx, "go", "build", "-o", linuxSketchBin, "sketch.dev/cmd/sketch")
-	cmd.Env = append(os.Environ(), "GOOS=linux", "CGO_ENABLED=0")
+	cmd := exec.CommandContext(ctx, "go", "install", "sketch.dev/cmd/sketch@latest")
+	cmd.Env = append(os.Environ(), "GOOS=linux", "CGO_ENABLED=0", "GOPATH="+tmpGopath)
 
 	fmt.Printf("building linux agent binary...\n")
 	out, err := cmd.CombinedOutput()
@@ -374,9 +379,15 @@
 		slog.DebugContext(ctx, "go", slog.Duration("elapsed", time.Now().Sub(start)), slog.String("path", cmd.Path), slog.String("args", fmt.Sprintf("%v", skribe.Redact(cmd.Args))))
 	}
 
+	src := filepath.Join(tmpGopath, "bin", "linux_"+runtime.GOARCH, "sketch")
+	dst := filepath.Join(path, "tmp-sketch-binary-linux")
+	if err := os.Rename(src, dst); err != nil {
+		return "", err
+	}
+
 	fmt.Printf("built linux agent binary in %s\n", time.Since(start).Round(100*time.Millisecond))
 
-	return linuxSketchBin, nil
+	return dst, nil
 }
 
 func getContainerPort(ctx context.Context, cntrName string) (string, error) {