[Terraform] Docker behebt das Zeitlimit beim Versuch, Azure-Ressourcen auf einem Windows-Computer zu erstellen

Was ist passiert

Wenn ich versuche, Microsoft Azure-Ressourcen mit Terraform auf einem Windows-Computer zu erstellen, tritt eine Zeitüberschreitung für "Terraform-Plan" auf.

C:\path\to\terraform> terraform plan

Error: timeout while waiting for plugin to start

Ursache

Es gab ein Problem. Error: Failed to instantiate provider "azurerm" to obtain schema: timeout while waiting for plugin to start

Tritt dies auf, wenn Sie ein TREND MICRO-Produkt (Virus Buster usw.) unter Windows verwenden? Und es gibt eine Ursache in Golang, und es ist keine Gegenmaßnahme auf der Terraform-Seite.

Lösung (Problemumgehung)

Es mag in Ordnung sein, wenn Sie Maßnahmen wie "Mac / Linux beschaffen" und "Virus Buster ausschalten" ergreifen können, aber in meinem Fall war dies nicht der Fall. Wir werden einen Linux-basierten Docker-Container auf einem Windows-Computer ausführen und dort Terraform ausführen.

Vorbereitung von Dateien usw.

Ordnerstruktur

your-folder-name/
 ├─ docker/
 │   └─ Dockerfile
 ├─ terraform/
 │   ├─ aaa.tf
 │   ├─ bbb.tf
 │   └ ...
 └─ docker-compose.yml

Dockerfile

FROM alpine:3.7

ARG terraform_version="0.13.1"

# install terraform.
RUN wget https://releases.hashicorp.com/terraform/${terraform_version}/terraform_${terraform_version}_linux_amd64.zip && \
    unzip ./terraform_${terraform_version}_linux_amd64.zip -d /usr/local/bin/

# set time-zone=JST
RUN apk --update add tzdata && \
    cp /usr/share/zoneinfo/Asia/Tokyo /etc/localtime && \
    apk del tzdata && \
    rm -rf /var/cache/apk/*

# create workspace.
COPY ./terraform /root/terraform

# move to workspace
WORKDIR /root/terraform

docker-compose.yml

version: "3"
services:
  terraform:
    container_name: "terraform"
    image: local/terraform
    build:
      context: ./
      dockerfile: docker/Dockerfile
    volumes:
      - ./terraform:/root/terraform

Lauf

#Erstellen Sie ein Docker-Image. Nur das erste Mal ist OK.
> docker-compose build

#Container starten & anmelden
> docker-compose run --rm terraform

###Danach werden die Arbeiten im Docker-Container ausgeführt.

#Führen Sie Terraform aus
$ terraform init
$ terraform plan
$ ...

#Wenn Sie fertig sind. Beenden Sie den Docker-Container.
$ exit

Dies löste (vermied) es.

Recommended Posts

[Terraform] Docker behebt das Zeitlimit beim Versuch, Azure-Ressourcen auf einem Windows-Computer zu erstellen
Als ich versuchte, mit Docker eine Umgebung für PHP7.4 + Apache + MySQL zu erstellen, blieb ich stecken [Windows & Mac]
Ich habe mit Vagrant eine CentOS 8-Umgebung erstellt und versucht, den Ordner zu synchronisieren, aber ich habe einen Fehler erhalten, also habe ich ihn behoben.
Als ich versuchte, Azure Kinect DK mit Docker auszuführen, wurde es von EULA blockiert
Hinweise zum Erstellen von Jitsi Meet on Azure mit Docker-Compose
Memorandum: Als ich TensorFlow mit Tribuo ausprobierte, funktionierte es nicht, also machte ich mich auf den Weg, um die Hauptfamilie zu finden, und verlor.
01. Ich habe versucht, eine Umgebung mit SpringBoot + IntelliJ + MySQL (MyBatis) (Windows 10) zu erstellen.
So erstellen Sie eine Ruby on Rails-Entwicklungsumgebung mit Docker (Rails 6.x)
Probieren Sie Alfresco 6.0 unter Windows aus (Docker wird gleichzeitig eingeführt).
So erstellen Sie eine Ruby on Rails-Entwicklungsumgebung mit Docker (Rails 5.x)
Wenn ich versuche, mich bei devise anzumelden, wird automatisch zu root_path umgeleitet
Bei der Registrierung eines neuen Benutzers wurde ein Fehler namens ActiveRecord :: NotNullViolation und der Umgang damit angezeigt.
Erstellen Sie eine Umgebung mit Docker unter AWS
Ich habe eine App für maschinelles Lernen mit Dash (+ Docker) Teil 3 ~ Übung ~ erstellt
[Erste Umgebungskonstruktion] Ich habe versucht, eine Rails6 + MySQL8.0 + Docker-Umgebung unter Windows 10 zu erstellen.
[Fehlerbehebung] Tritt auf, wenn versucht wird, mit Docker eine Umgebung für den Frühling zu erstellen
Erstellen Sie eine Entwicklungsumgebung, um Ruby on Jets + React-Apps mit Docker zu erstellen
[Rails] So erstellen Sie eine Umgebung mit Docker
Beim Versuch, sbt zu installieren, um eine Scala-Entwicklungsumgebung zu erstellen, ist ein Fehler aufgetreten
Eine Geschichte über die Schwierigkeiten beim Versuch, PHP 7.4 auf CentOS 8 von GCE zu erstellen