DevOps/Docker

Docker arm기반 이미지 생성

알로그 2021. 1. 8. 11:02
반응형

x86환경에서 arm기반 도커 이미지를 빌드하고자 했는데, architecture 문제로 오류가 발생함

에러 로그: standard_init_linux.go:211: exec user process caused "exec format error"

 

multi-architecture 컨테이너를 실행하기 위해 multiarch/qemu-user-static을 활용함

docker run --rm --privileged multiarch/qemu-user-static --reset 를 실행하고 난 뒤 도커 이미지를 빌드하면 오류를 해결할 수 있다.

 

 

before) x86 아키텍쳐 

$ uname -m 
x86_64

 

arm기반 아키텍쳐 컨테이너 실행 시 오류 발생

$ docker run --rm -t arm64v8/ubuntu uname -m
standard_init_linux.go:211: exec user process caused "exec format error"

 

multiarch 적용

$ docker run --rm --privileged multiarch/qemu-user-static --reset 

 

after) arm 아키텍쳐

$ docker run --rm -t arm64v8/ubuntu uname -m
aarch64

 

 

 

아래 github 참고

github.com/multiarch/qemu-user-static

 

multiarch/qemu-user-static

:earth_africa: `/usr/bin/qemu-*-static`. Contribute to multiarch/qemu-user-static development by creating an account on GitHub.

github.com

 

반응형