M1Mac의 Terraform(docker를 통해)을 느리게 하려고 합니다.
개시하다
Terraform을 사용할 때 프로젝트에 따라 사용 버전이 다르기 때문에 실제 업무에서 tfenv나docker를 통해 실행됩니다.
현재 작업장에서는 이런 느낌의 메이크 지령을 제작해 투명하게 도커 지령을 사용할 수 있다.
# 実際は使っているクラウドサービスによって認証情報が必要
terraform=docker run -it --rm -v $$(pwd):/app/ -w /app/ hashicorp/terraform:1.1.7
tf-init: ## terraform init
$(terraform) init
tf-plan: ## terraform plan
$(terraform) plan
...
이것은 매우 편리하지만hashicorp/terraform의 이미지는arm 구조를 지원하지 않습니다. 먼저 동작을 하지만 시뮬레이터를 거쳐야 하기 때문에 좀 느립니다.매번 이런 WARNING이 나오기 때문에 뭔가를 하고 싶다.
WARNING: The requested image's platform (linux/amd64) does not match the detected host platform (linux/arm64/v8) and no specific platform was requested
자체 구축
따라서 스스로 세워야 한다.
Dockerfile
는 이런 느낌공식.을 조금 바꿨을 뿐이다.FROM alpine:latest as build
ARG TERRAFORM_VERSION=UNSPECIFIED
RUN apk add --no-cache curl git openssh && \
curl -O https://releases.hashicorp.com/terraform/${TERRAFORM_VERSION}/terraform_${TERRAFORM_VERSION}_linux_arm.zip && \
unzip terraform_${TERRAFORM_VERSION}_linux_arm.zip -d /bin
FROM alpine:latest as final
ARG TERRAFORM_VERSION=UNSPECIFIED
RUN apk add --no-cache git openssh
COPY ["/bin/terraform", "/bin/terraform"]
ENTRYPOINT ["/bin/terraform"]
구축 후 공식 창고와 같은 라벨을 붙인다.docker build -t hashicorp/terraform:1.1.8 --build-arg TERRAFORM_VERSION=1.1.8 .
문제 없이 구축할 수 있다면 Makefile에 사용된 버전의 이미지를 만듭니다.Makefile은 M1의 이미지로 Terraform을 두드릴 수 있습니다.
Reference
이 문제에 관하여(M1Mac의 Terraform(docker를 통해)을 느리게 하려고 합니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://zenn.dev/ymtdzzz/articles/f693293ca60f0a텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)