반응형
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
반응형
'Develop > 기타 작업' 카테고리의 다른 글
ctr import 응답 없음 및 이미지 import 실패 (0) | 2024.10.29 |
---|---|
buildah multiarch build 및 docker hub push (0) | 2024.07.03 |
Buildah (0) | 2024.04.11 |
Docker architecture, save, load, tag 및 ctr tag, export, import, push (0) | 2024.04.10 |
sed 수정, 특정 글 위/아래 추가, 특정 글 아래 수정, 띄어쓰기 입력 (0) | 2024.04.08 |