diff --git a/pkg/build/docker/init.go b/pkg/build/docker/init.go index 658bba02f10..c7262613b2b 100644 --- a/pkg/build/docker/init.go +++ b/pkg/build/docker/init.go @@ -10,6 +10,9 @@ import ( // AllArchs is a list of all supported Docker image architectures. var AllArchs = []string{"amd64", "armv7", "arm64"} +// emulatorImage is the docker image used as the cross-platform emulator +var emulatorImage = "tonistiigi/binfmt:qemu-v7.0.0" + // Init initializes the OS for Docker image building. func Init() error { // Necessary for cross-platform builds @@ -18,11 +21,14 @@ func Init() error { } // Enable execution of Docker images for other architectures + //nolint:gosec cmd := exec.Command("docker", "run", "--privileged", "--rm", - "docker/binfmt:a7996909642ee92942dcd6cff44b9b95f08dad64") + emulatorImage, "--install", "all") output, err := cmd.CombinedOutput() if err != nil { return fmt.Errorf("failed to enable execution of cross-platform Docker images: %w\n%s", err, output) } + log.Println("emulators have been installed successfully!") + return nil }