摘要:初始化在終端中執行。首次執行初始化操作,會有較長的時間去獲取中定義的信息,在第一次初始化后沒有信息的變化,可以跳過初始化直接開始部署。執行部署命令時,會將的列出來展示給用戶,并由用戶確定執行。則刪除由創建的容器。
前置條件: 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 容器云產品經理 沈旭
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/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。...
閱讀 3514·2023-04-25 20:09
閱讀 3720·2022-06-28 19:00
閱讀 3035·2022-06-28 19:00
閱讀 3058·2022-06-28 19:00
閱讀 3132·2022-06-28 19:00
閱讀 2859·2022-06-28 19:00
閱讀 3014·2022-06-28 19:00
閱讀 2610·2022-06-28 19:00