반응형
M1 맥을 사용중인데 문제는 M1이 arm 기반 칩셋이라 도커 이미지를 만들면, arm 플랫폼 전용 이미지로 생성이 됩니다.
근데 이미지를 배포할 환경은 Ubuntu 이므로 해당 이미지가 제대로 동작하지 않거나 성능이 저하될 수 있다고 경고창을 띄웁니다.
그래서 이미지 빌드 시 아래 플랫폼 옵션을 붙여서 빌드를 해주면 해결이 됩니다.
$ docker build --platform amd64 -t [이미지명] .
다른 플랫폼으로 빌드하고 싶을 때
도커 이미지를 만들 때, 보통 alpine 처럼 가벼운 이미지를 Base 이미지로 사용하곤 합니다. 빌드할 때 지원되는 Arch도 Base 이미지를 따라가게 되는데요. openjdk 공식 이미지를 예로 들면, 여러 OS Arch를 제공합니다. 여러분이 이미지를 생성할 때 Base 이미지가 지원해주는 Arch를 옵션으로 주시면 됩니다.
감사합니다.
반응형