摘要:初始化在终端中执行。首次执行初始化操作,会有较长的时间去获取中定义的信息,在第一次初始化后没有信息的变化,可以跳过初始化直接开始部署。执行部署命令时,会将的列出来展示给用户,并由用户确定执行。则删除由创建的容器。
前置条件: 1. 安装好windows docker 2. 安装好terraform
安装windows docker可以直接登录http://docker.com下载安装即可,docker可以有图形化管理页面安装最新的19.03。为了简化第一次的操作,这里我们先不通过terraform来安装docker,docker下载安装地址https://www.docker.com/get-started
terraform {
required_providers {
docker = {
source = "terraform-providers/docker"
}
}
}
provider "docker" {
host = "tcp://localhost:2375"
}
resource "docker_image" "nginx" {
name = "nginx:latest"
keep_locally = false
}
resource "docker_container" "nginx" {
image = docker_image.nginx.latest
name = "tutorial"
ports {
internal = 80
external = 8000
}
}
其中值得注意的是,官方的例子,在provider "docker"中指定的host是通过windows的管道完成的,怕是已经很多人不会用了。这里需要在docker desktop中设置开启"tcp://localhost:2375",并替换tf文件中的host ="tcp://localhost:2375"。
笔者使用的vs code,可以直接右键在终端中打开,然后依次进行以下步骤。
在终端中执行terraform init
。首次执行初始化操作,会有较长的时间去获取terraform中定义的source信息,在第一次初始化后没有source信息的变化,可以跳过初始化直接开始部署。
在终端中执行terraform plan
查看terraform执行计划,在终端中执行terraform apply
完成部署。执行部署命令时,会将terraform的plan列出来展示给用户,并由用户确定执行。也可以输入-auto-approve
跳过plan。
输入"yes"
安装完成!
查看结果。
大家可以简单的字面理解main.tf中的语义,会在后面的内容中详细介绍,在此次执行中我们会在本地创建一个nginx的容器,并暴露800端口,我们访问localhost:800可以看到由terraform创建的容器可以正常运行。
在终端中执行terraform destroy
。则删除由tf创建的docker容器。
在我们执行terraform -h
后看到terraform的相关操作命令和使用方法,整理给大家,如果你刚刚开始使用terraform,可以从这些基础命令开始,对于其他命令,请使用前阅读terraform的官方文档。
Usage: terraform [-version] [-help] [args]
Common commands:
apply 构建或更改基础设施
console terraform传参的交互式控制台
destroy 删除由terraform控制的基础设施
env 工作空间管理
fmt 将配置文件重写为规范格式
get 下载并安装配置模块
graph 创建terraform资源的可视化图形
import 将现有基础设施导入terraform
init 初始化terraform的工作目录
login 获取并保存远程主机的凭据
logout 删除远程主机的本地存储凭据
output 从状态文件读取输出
plan 生成并显示执行计划
providers 打印配置中使用的提供程序的树型结构
refresh 根据实际资源更新本地状态文件
show 检查terraform的状态或计划
taint 手动标记污点以便资源重新创建
untaint 手动取消污点
validate 验证terraform文件
version terraform版本
workspace 工作空间管理
All other commands:
0.12upgrade 重写v0.12之前的模块源代码
0.13upgrade 重写v0.13之前的模块源代码
debug debug输出管理
force-unlock 手动解除terraform锁定状态
push 推送完成代码到企业仓库
state 关键状态管理
本文作者:UCloud 容器云产品经理 沈旭
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/126004.html
摘要:是一款优秀的开源工具,中文文档较少,特此整理相关内容及使用方法。安装在上安装还是相对简单的,由于缺少中文文档相关介绍内容,在上安装也有踩了一些坑。操作后再次执行命令即可完成安装。安装完成后执行可查看当前安装版本,并检查安装成功。Terraform是一款优秀的开源devops工具,中文文档较少,特此整理Terraform相关内容及使用方法。Terraform是什么?在原始的数据中心应用部署中,...
摘要:第二十一期启迪云资深交付经理董乐前文回顾运用代码管理基础架构之镜像利器一需求分析随着公有云平台功能的日趋完善,混合云的架构逐步会成为企业是首要选择。 第二十一期 启迪云资深交付经理 董乐前文回顾:运用代码管理基础架构之-镜像利器(一)需求分析随着公有云平台功能的日趋完善,混合云的架构逐步会成为企业是首要选择。面对混合云的环境我们如何管理我们的基础架构?我们以创建一个web平台为例:传统方式...
看到Terraform可以替代kubectl管理k8s资源的生命周期,于是调研了下它的使用场景,并对比Terraform和Helm的区别 一.Terraform介绍 Terraform是一款开源工具,出自HashiCorp公司,著名的Vagrant、Consul也出自于该公司。其主要作用是:让用户更轻松地管理、配置任何基础架构,管理公有和私有云服务,也可以管理外部服务,如GitHub,Nomad。...
看到Terraform可以替代kubectl管理k8s资源的生命周期,于是调研了下它的使用场景,并对比Terraform和Helm的区别 一.Terraform介绍 Terraform是一款开源工具,出自HashiCorp公司,著名的Vagrant、Consul也出自于该公司。其主要作用是:让用户更轻松地管理、配置任何基础架构,管理公有和私有云服务,也可以管理外部服务,如GitHub,Nomad。...
阅读 3517·2023-04-25 20:09
阅读 3724·2022-06-28 19:00
阅读 3037·2022-06-28 19:00
阅读 3060·2022-06-28 19:00
阅读 3140·2022-06-28 19:00
阅读 2864·2022-06-28 19:00
阅读 3022·2022-06-28 19:00
阅读 2619·2022-06-28 19:00