内容目录
						
						背景
之前讲过了 terraform 安装流程,作为学习 terraform 的最佳手段,我们可以从对容器的操作来熟悉 terraform 的操作流程。
安装 docker
国内使用 docker 受限于dockerhub 的访问限制,需要配置镜像加速
bash <(curl -f -s --connect-timeout 10 --retry 3 https://linuxmirrors.cn/docker.sh) --source mirrors.tencent.com/docker-ce --source-registry docker.1ms.run --protocol https --install-latested true --close-firewall false --ignore-backup-tips
terraform 配置
前置准备结束,需要准备 terraform 配置用于资源定义,sdk 下载等等,下面是一个最简单的示例
main.tf
terraform {
  required_providers {
    docker = {
      source  = "kreuzwerker/docker"
      version = "~> 3.0.1"
    }
  }
}
provider "docker" {}
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
  }
}
里面包含必不可少的 2 个模块,
- 一个是 provider
- 用于定义提供商比如这里的是 docker的 sdk 版本,后续 terraform init下载将会据此下载 sdk 版本用于后续docker资源创建使用
 
- 另一是资源定义
- 用于实际资源创建,这里 2 个资源一个是定义了 docker image 用于镜像拉取
- 一个是 docker container 用于容器创建
 
有了这两个模块就可以使用 terraform 来创建容器了
terraform操作
- 
terraform init - 下载资源所需 sdk, 默认下载在项目目录下.terraform 位置
 
- 
terraform plan - 用于查看部署计划,校验部署配置等
 
- 
terraform apply - 部署资源