반응형
Mac에서 Dockerfile로 이미지 빌드 및 푸쉬하고, AWS EC2에서 이미지를 빌드 및 실행 하면 에러가 난다.
<에러 내용>
exec /usr/bin/java: exec format error
이유는 OS가 달라서 인데, 해결방법으로는 멀티 플랫폼화 이미지로 빌드하는 방법이다.
1) 멀티 플랫폼 이미지 빌더 생성 (이름 inna)
docker buildx create --name inna --use
2) 빌더 목록 확인
docker buildx ls
3) 빌더를 통해, 멀티 플랫폼 이미지 빌드 및 repository 푸시
docker buildx build --platform=linux/amd64,linux/arm64 --push -t dbtjdwocjswo/inna-server:0.0.1 -f ./DockerFile .
4) Ec2접속 및 이미지 풀
docker pull dbtjdwocjswo/inna-server:0.0.1
5) 컨테이너 생성
docker create -i --name inna-server dbtjdwocjswo/inna-server:0.0.1
6) 컨테이너 실행
docker start <container-id>
5,6을 통합하는건, docker run을 통해서 생성+실행도 가능하다.
무튼 이렇게 에러를 해결했다.
반응형
'Infra > [AWS]' 카테고리의 다른 글
[AWS] EC2환경에 테스트 앱 배포하기 (0) | 2023.05.25 |
---|---|
[AWS] 방화벽 open 및 도커 포트 바인딩 (0) | 2023.05.25 |
[AWS] EC2에 Docker 설정 (0) | 2023.05.24 |
[AWS] EC2생성 및 세팅 정리 (host로 쉽게 접근) (0) | 2023.05.23 |
[AWS] EKS 세팅 방법 (0) | 2023.05.12 |