M1 Mac에서 ECR에 push로 여기에 조심해 ❗️



요점


  • CodeBuild에서 오류. 무슨 일이 일어났는지 깨닫기 어렵다.standard_init_linux.go:211: exec user process caused "exec format error"
  • amd64의 다이제스트를 지정해 pull합시다

  • 내용



    2020년부터 Docker Hub의 Pull 횟수 제한이 걸려,
    회피를 위해서 로컬로부터 push 하는 분등 있는 것이 아닐까요.

    M1 Mac에서도 평소처럼,$ docker pull XX:XX라고 보통으로 pull 해 버릴지도 모릅니다만,

    대상의 image가 멀티 CPU 아키텍처 대응이라면,
    자동 선택으로 arm 이미지를 가져옵니다 😱

    그러므로, amd64의 다이제스트를 지정해 pull합시다.

    php image의 간단한 예


  • Tags 탭 -> OS/ARCH linux/amd64 선택
  • DIGEST: 오른쪽 복사

  • 다음과 같이 pull 한다
    $ docker pull php:fpm-alpine3.13@sha256:4b90222a821ef24358d305cbe51ff65f31edea6e323b06f40ee1f800401ebaf0
    

  • 시험에 run으로 확인하고 arm이나 aarch라는 문자열이 없으면 OK
    $ docker run 932a0ce9593c uname -a
    Linux 2309aaa4729b 4.19.121-linuxkit #1 SMP Tue Dec 1 17:50:32 UTC 2020 x86_64 Linux
    
  • 좋은 웹페이지 즐겨찾기