🤷♂️ docker platform 설정이 필요한 이유
도커에서 platform 설정을 사용하는 이유는 컨테이너 이미지를 호스트 서버의 CPU 아키텍처와 호환되도록 하기 위해서입니다.
예를 들어 로컬에서 이미지를 빌드하고 ECR PUSH 후에 클라우드 서버에서 ECR PULL을 받고 컨테이너를 실행하면 플랫폼 버전이 맞지 않아서 오류가 발생합니다.
또한, 맥 OS에서는 platform 옵션을 설정해주지 않으면 다른 플랫폼으로 빌드를 할 때 platform 버전 오류가 발생하기 때문에 platform 옵션 설정이 필요합니다.
이러한 문제를 해결하기 위해서 platform 설정이 필요합니다.
🤷♂️ platform 명령어를 알기 전에 도커 이미지와 CPU 아키텍처
도커 이미지는 특정 CPU 아키텍처(예: amd64, arm64 등)용으로 빌드됩니다.
CPU 아키텍처는 프로세스가 데이터를 처리하는 방식에 따라 달라집니다.
현재 많이 사용되는 두 가지 주요 아키텍처
- amd64: 주로 데스크톱, 서버, 클라우드 컴퓨팅 환경에서 사용하는 64비트 x86 아키텍처입니다. 대부분의 PC와 서버에서 사용됩니다.
- arm64: 주로 모바일 장치, IoT 장치, 일부 서버에서 사용하는 64비트 ARM 아키텍처입니다. 에너지 효율이 높은 ARM 칩을 사용하는 장치에서 주로 사용됩니다.
2022.06.27 - [도커&쿠버네티스] - [Docker] Docker의 개념 및 핵심 설명
🤷♂️ platform 오류 해결 방법
위에 도커 이미지와 CPU 아키텍처의 프로세스와 데이터를 처리하는 방식을 이해를 하셨다면 platform 명령어로 오류를 해결하는 방법을 알아보겠습니다.
platform 옵션 명령어
docker build --platform linux/amd64 -t <태그> .
위에 명령어로 도커 이미지를 빌드하면 platform 호환성 오류를 해결할 수 있습니다.
build 명령어 옵션에 --platform linux/amd64 추가하면 도커에게 이 빌드 이미지는 amd64 호스트에서 실행되어야 한다고 지시합니다.
그래서 로컬에서 빌드한 이미지를 클라우드 서버에서 플랫폼이 맞지 않아 생기는 오류를 해결하실 수 있습니다.
재밌는 오늘의 띠별 운세 보고 가세요!
https://cometruedream.tistory.com/243
https://cometruedream.tistory.com/242
https://cometruedream.tistory.com/241
https://cometruedream.tistory.com/244
'도커&쿠버네티스' 카테고리의 다른 글
[docker] 도커 PostgreSQL & Redis 이미지 설치와 컨테이너 실행하는 방법 (0) | 2024.04.24 |
---|---|
[Docker] Mac 운영체제에 도커 개념 & 설치 방법 (0) | 2024.03.29 |
[Docker] Docker의 개념 및 핵심 설명 (2) | 2022.06.27 |