인프런 커뮤니티 질문&답변

제이크서님의 프로필 이미지

작성한 질문수

개발자를 위한 쉬운 도커

GitHub Actions를 활용한 이미지 빌드 자동화 파이프라인 구성

github actions 의 steps 중 platforms 제거

해결된 질문

24.02.25 22:42 작성

·

406

1

안녕하세요. GitHub Actions 관련 실습 중이었는데, 아래와 같은 에러가 발생했습니다.

 

ERROR: failed to solve: node:14: no match for platform in manifest: not found

154Error: buildx failed with: ERROR: failed to solve: node:14: no match for platform in manifest: not found

 

일단은 platforms 를 제거해서 해결했는데요.

platforms 관련하여 검색해 알아보니 특정 OS 에 최적화하는 옵셔널한 값으로 넣으면 좋고 안넣어도 괜찮은 그냥 그런 것으로 소개되고 있더라고요

 

제 질문은 아래와 같은데요.

 

  1. platforms 를 지워서 GitHub Actions 가 성공했는데, 이렇게 실습해도 되나요?

  2. 실무에서는 보통 platforms 를 작성하는게 관행인가요?

 

 

답변 2

0

데브위키님의 프로필 이미지
데브위키
지식공유자

2024. 03. 03. 21:13

서진규님 안녕하세요. 데브위키입니다.

네 말씀해주신 대로 platforms에 내용을 기재해 주셔야 합니다..!

platforms: 필드를 기재하시는 이유는, 환경이 두 개가 존재하기 때문입니다.

환경 1: 파이프라인이 실제로 실행되어 이미지를 빌드하는 깃허브 소유의 OS환경

환경 2: 이미지를 다운받아 실행하는 실습PC 환경



환경 1과 환경2의 OS환경(정확히는 커널)이 다를 경우 빌드한 이미지가 제대로 실행되지 않습니다.

그래서 platforms를 기재해서 이미지가 정상적으로 실행될 수 있도록 기재해 주시는 것입니다 😀

 

정리하자면 linux/arm64/v8 가 서진규님의 OS 커널 환경인 것이고, 깃허브의 환경에서 빌드할 때 잘 실행될 수 있도록 플랫폼을 기재해 주시는 것입니다.

 

강의 들으시면서 더 궁금하신 부분이 있으시면 편하게 질문해주세요!

 

0

제이크서님의 프로필 이미지
제이크서
질문자

2024. 02. 25. 23:07

결국 platforms 가 없으니 manifest 에서 해당하는 플랫폼인 linux/arm64/v8 를 못찾았다고 뭐라해서 platforms: linux/arm64/v8 를 추가해서 해결했습니다..!

 

특정 OS 환경에서 컨테이너 실행하려면 platforms 를 잘 지정해두어야 하는거군요..!