dockerimg: use a default image from a public registry

If the LLM chooses our default alpine Go image, we save some
work by instead starting from a sketch docker image pushed
to ghcr.io.
diff --git a/dockerimg/pushdockerimg.go b/dockerimg/pushdockerimg.go
new file mode 100644
index 0000000..2647626
--- /dev/null
+++ b/dockerimg/pushdockerimg.go
@@ -0,0 +1,62 @@
+//go:build ignore
+// +build ignore
+
+package main
+
+import (
+	"fmt"
+	"os"
+	"os/exec"
+	"path/filepath"
+
+	"sketch.dev/dockerimg"
+)
+
+func main() {
+	dir, err := os.MkdirTemp("", "sketch-pushdockerimg-*")
+	if err != nil {
+		panic(err)
+	}
+	defer os.RemoveAll(dir)
+
+	name, dockerfile, hash := dockerimg.DefaultImage()
+	if err := os.WriteFile(filepath.Join(dir, "Dockerfile"), []byte(dockerfile), 0o666); err != nil {
+		panic(err)
+	}
+
+	fmt.Print(`NOTE: this requires:
+	brew install colima docker docker-buildx qemu
+	gh auth token | docker login ghcr.io -u $(gh api user --jq .login) --password-stdin
+`)
+
+	run := func(args ...string) {
+		cmd := exec.Command(args[0], args[1:]...)
+		cmd.Dir = dir
+		cmd.Stdout = os.Stdout
+		cmd.Stderr = os.Stderr
+		fmt.Printf("running %v\n", cmd.Args)
+		if err := cmd.Run(); err != nil {
+			panic(err)
+		}
+	}
+
+	run("colima", "start")
+	run("docker", "buildx", "create", "--name", "arm", "--use", "--driver", "docker-container", "--bootstrap")
+	run("docker", "buildx", "use", "arm")
+	run("docker", "buildx", "build", "--platform", "linux/arm64", "-t", name+"arm64", "--push", ".")
+	run("docker", "buildx", "rm", "arm")
+	run("colima", "start", "--profile=intel", "--arch=x86_64", "--vm-type=vz", "--vz-rosetta", "--memory=4", "--disk=15")
+	run("docker", "context", "use", "colima-intel")
+	run("docker", "buildx", "create", "--name", "intel", "--use", "--driver", "docker-container", "--bootstrap")
+	run("docker", "buildx", "use", "intel")
+	run("docker", "buildx", "build", "--platform", "linux/amd64", "-t", name+"amd64", "--push", ".")
+	run("docker", "buildx", "rm", "intel")
+	run("docker", "context", "use", "colima")
+	run("colima", "stop", "--profile=intel")
+	run(
+		"docker", "buildx", "imagetools", "create",
+		"--annotation", "index:org.opencontainers.image.revision="+hash,
+		"-t", name, name+"arm64", name+"amd64",
+	)
+	run("docker", "buildx", "imagetools", "inspect", name)
+}