반응형

Docker Platform 오류

🚫 오류 현상

새로운 네이버 클라우드 서버 환경에 리액트 어플리케이션을 임시로 구성해야 하는 상황이 발생했다.
리액트 배포 관리도 도커 허브를 통해 관리를 하고 있었기때문에, 몇가지 설정값만 바꾸고 빌드하여 서버쪽에서 허브를 통해 PULL처리 후 run을 해보니 아래와 같은 오류를 만났다.

WARNING: The requested image's platform (linux/arm64) does not match the detected host platform (linux/amd64/v3) and no specific platform was requested

개발 PC의 경우 맥북 m1과 네이버클라우드 서버의 CPU 아키텍처 달라서 발생한 오류였다.

✅ 오류 해결

도커 허브에 이미지를 올리기전에 CPU 아키텍처를 맞춰서 빌드하여 올려주면 해결이 된다.
(멀티플랫폼을 적용하는 방식도 있다고 하는데, 이 방법은 차차 확인해보고 적용방법을 포스팅해보겠다.)

🔹 빌드 옵션에 platform키워드 사용하기

빌드 옵션에서 --platform 아키텍처를 통해 이미지를 재업로드를 진행했다.

// 예시의 경우 오류 메시지 아키텍처로 맞췄습니다.
// docker build --platform linux/amd64 -t [DockerHubName/Repository/TagName] --push .
docker build --platform linux/amd64 -t myHub/reactPrj/ver1.0.0 --push .

정상적으로 동작이되면 이미지를 생성해서 도커허브로 바로 올라가는걸 볼 수 있다.

🟢 동작 결과

서버로 다시 돌아와서 생성한 이미지를 다운받고 실행시키면 정상적으로 동작하는걸 볼 수 있다.

반응형