docker/build-push-action으로 멀티플랫폼 이미지에 태그 지정
5017 단어 DockerGitHub ActionsmacOStech
개시하다
나는 연간 또는 월 단위로 GiitHub의 contribution 수를 누적하는 도구Docker 이미지로 공개가 하나 있다.
M1Mac을 사용하여 ARM에 대응합니다.
docker tag
와docker push
면linux/amd64
과linux/arm64
한 쪽만 라벨을 달았다.이용
docker/build-push-action
으로 해결됐으니 소개해드릴게요.해결의 과제
docker pull
와 docker run
의 운영 환경에 따라 적합한 이미지를 다운로드할 수 있다.Docker Hub에서 다음OS/ARCH
을 선택할 수 있습니다.GiitHub Action 솔루션
Docker 공식 GiitHub Actions를 사용하면 간단합니다.
실행
docker/setup-qemu-action
실행
docker/setup-buildx-action
platform
및 tag
를 지정하여 실행docker/build-push-action
main
분지의push를 촉발점docker push [options] $REPOSITORY:latest
으로 하는 샘플이 여기 있습니다.GiitHub 창고에서 라벨을 만들 때
docker push [options] $REPOSITORY:$TAG
도 가능하다.재현 실행 명령
하고 싶은 일이 있지만 더 쫓아가겠습니다.어떤 명령을 실행했는지 원본 코드를 읽은 후에 설명하세요.
읽기
docker
알 수 있는 main.ts
명령의 매개 변수에 docker
변수가 지정되어 있습니다.이것
args
은 args
의 context.ts
함수의 반환값이다.getArgs
함수와 getBuildArgs
함수는 설정값에 따라 옵션을 추가합니다.길어서 발췌한 거예요.상술한 샘플에 따르면 지령의 재현 결과는 여기에 있다.가독성 때문에 줄을 적당히 바꾸다.
docker buildx build \
--platform linux/amd64,linux/arm64 \
--tag okepy/contribution:latest \
--push \
.
오, 그렇군요.몰라요.M1Mac에서 재생성 명령 실행하기
[+] Building 0.0s (0/0)
error: multiple platforms feature is currently not supported for docker driver. Please switch to a different driver (eg. "docker buildx create --use")
네, 오류가 발생했습니다.해결 방법은 다음과 같습니다.getBuildArgs
docker/setup-qemu-action
끝말
Docker 공식 깃허브 액션을 활용해 멀티플랫폼 이미지를 간단하게 제작했다.
멀티플랫폼 이미지에 대해 말하자면 Cybozu Productivity News #2 - 2022.04.28에서 고속화를 구축하는 방법을 소개했다.
docker/setup-buildx-action
몰라요.또한 본고에서 다구조가 대응하는 이미지가 나타난다.참고 자료
Reference
이 문제에 관하여(docker/build-push-action으로 멀티플랫폼 이미지에 태그 지정), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://zenn.dev/oke_py/articles/c64fb1b13ed934텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)