anpanman
Published on

Introduction to Terraform

Terraform 是一個開源的基礎設施自動化工具,它可以幫助使用者自動化建置和管理雲端服務、應用程式、網路和伺服器等基礎設施。Terraform 提供了一個簡單易用的語言來描述基礎設施,並能夠自動化設置和部署這些基礎設施。

Terraform 的主要優勢是它的可重複性和可擴展性,可以快速地部署和更新基礎設施。此外,Terraform 也支援多種雲端提供商,例如 AWS、Azure 和 Google Cloud Platform 等,使用者可以根據需要快速切換雲端平台。

簡單來說,Terraform 是一個啟機器的工具。

Open Nginx with Terraform

  1. 建一個資料夾

  2. 在資料夾中,創建一個名為的文件 main.tf 並將以下 Terraform 配置貼到其中。

    terraform {
      required_providers {
        docker = {
          source  = "kreuzwerker/docker"
          version = "~> 3.0.1"
        }
      }
    }
    
    provider "docker" {
      host    = "npipe:////.//pipe//docker_engine"
    }
    
    resource "docker_image" "nginx" {
      name         = "nginx"
      keep_locally = false
    }
    
    resource "docker_container" "nginx" {
      image = docker_image.nginx.image_id
      name  = "tutorial"
    
      ports {
        internal = 80
        external = 8000
      }
    }
    
  3. 初始化 Terraform,它會下載一個名為 provider 的擴充套件,讓 Terraform 與 Docker 互動,並開好 Docker Desktop。

    terraform init
    
  4. 使用 apply 命令設置 NGINX 伺服器容器。當 Terraform 詢問是否確認時,輸入 yes,然後按下 ENTER 鍵。

    terraform apply
    
  5. 透過瀏覽器訪問 localhost:8000。

  6. 執行 docker ps 命令來檢查 NGINX 容器是否存在。

  7. 在 Docker Desktop 能看到有一個新的 container 被啟起來

  8. 用 Terraform 把 Container 刪除。

    terraform destroy