Develop/기타 작업
exec container process `/bin/sh`: Exec format error
팡연
2024. 4. 28. 20:36
반응형
buildah 를 이용하여 arm 아키텍처에서 amd 로 multi platform 빌드를 수행하는 도중 계속 아래와 같은 에러가 발생했다.
exec container process `/bin/sh`: Exec format error
docker 또는 buildah로 multi platform 빌드할 경우 아키텍처 옵션을 주면 해결된다고 하였으나, 되지않았고
qemu-user-static 을 설치해주니 잘동작하였다.
qemu-user-static 은 다양한 아키텍처를 실행해주는 소프트웨어이다.
apt-get update -y
apt-get install qemu-user-static
설치 후 다른 사용법은 없으며, 그냥 아키텍쳐 옵션을 주면 빌드가된다.
buildah build --arch=amd64 -f Dockerfile -t wky.kr/test:latest .
또한, amd64로 이미지를 생성한 후 arm 아키텍처에서 해당 amd64 이미지 k8s에서 실행하여도
qemu-user-static 으로 인하여 실행이된다.
참고 : https://github.com/multiarch/qemu-user-static
https://github.com/containers/buildah/blob/main/docs/buildah-build.1.md
반응형