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-actionplatform 및 tag를 지정하여 실행docker/build-push-actionmain 분지의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.)