개발 환경이 apple silicon mac이거나 arm 기반 windows라면 배포시 아래와 같은 에러를 마주할 수 있다.
ubuntu@ip-127-0-0-1:~$ sudo docker run docker-error-test
WARNING: The requested image's platform (linux/arm64/v8) does not match the detected host platform (linux/amd64/v3) and no specific platform was requested
exec /usr/local/openjdk-8/bin/java: exec format error
이는 빌드시 --platform
옵션을 줘서 해결할 수 있다.
# --platform 옵션을 사용하여 해결하자
# --platform stringArray Set target platform for build
f4ctor@MacBook-Pro test % docker build --platform linux/amd64 -t docker-error-test .
+] Building 2.2s (8/8) FINISHED docker:desktop-linux
=> [internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> [internal] load build definition from Dockerfile 0.0s
=> => transferring dockerfile: 150B 0.0s