Due to the different in architecture, the Kubernetes deployment created using image built on Macbook M1 ran into standard_init_linux.go:228: exec user process caused: exec format error issue.
Suggesting below solution:
-
Remove null_resource.docker_build
-
Update null_resource.docker_push using docker buildx to build for multi-platform:
resource "null_resource" "docker_push" {
depends_on = [ null_resource.docker_login ]
triggers = {
always_run = timestamp()
}
provisioner "local-exec" {
command = "docker buildx build --platform linux/arm64,linux/amd64 -t ${local.image_tag} --file ../${local.service_name}/Dockerfile-prod ../${local.service_name} --push"
}
}