為了實現(xiàn)自動化操作,Terraform需要明確指定所使用的提供者。因此,在主要的main.tf文件中,需要提供提供者的名稱、源和版本信息。對于Docker,可以在main.tf中使用以下代碼塊。
使用塊和資源創(chuàng)建Terraform腳本。
terraform { required_providers { docker = { source = "kreuzwerker/docker" version = "~> 2.21.0" } }}
這是一個Terraform配置模塊,指定了所需的Docker提供者及其版本。
在這個配置中,指定了Terraform代碼需要使用Docker提供者與Docker容器進(jìn)行交互。source參數(shù)指定了提供者代碼的位置,在這種情況下為kreuzwerker/docker GitHub存儲庫。version參數(shù)指定了應(yīng)使用的提供者的最低版本。
圖片
提供者塊配置了指定的提供者,此處為docker。提供者是Terraform用于創(chuàng)建和管理資源的插件。
provider "docker" {}
圖片
使用資源塊定義基礎(chǔ)架構(gòu)的組件。資源可以是物理或虛擬組件,如Docker容器,也可以是邏輯資源,如Heroku應(yīng)用程序。
資源塊在塊之前有兩個字符串:資源類型和資源名稱。在此示例中,第一個資源類型是docker_image,名稱為Nginx。
為nginx docker鏡像創(chuàng)建資源塊
resource "docker_image" "nginx" { name = "nginx:latest" keep_locally = false}
為運行nginx的docker容器創(chuàng)建資源塊
resource "docker_container" "nginx" { image = docker_image.nginx.latest name = "tutorial" ports { internal = 80 external = 80 }}
圖片
在創(chuàng)建Terraform配置文件(使用.tf擴展名)之后,使用以下Terraform命令來配置和管理基礎(chǔ)架構(gòu):
Terraform init: 通過下載和安裝所需的提供者和模塊、初始化后端并下載必要的插件,初始化新的或現(xiàn)有的Terraform工作目錄。
terraform init
圖片
Terraform plan: 生成執(zhí)行計劃,顯示Terraform將采取哪些操作來達(dá)到配置文件中指定的期望狀態(tài)。該命令還報告將對基礎(chǔ)架構(gòu)進(jìn)行的任何更改。
terraform plan
圖片
圖片
Terraform apply: 執(zhí)行terraform plan生成的執(zhí)行計劃中提出的操作。該命令會配置和提供在配置文件中定義的基礎(chǔ)架構(gòu)。
terraform apply
圖片
圖片
如果未安裝Docker,請使用以下命令:
sudo apt-get install docker.iosudo docker pssudo chown $USER /var/run/docker.sock
使用以下命令檢查是否創(chuàng)建了Docker容器:
docker ps
圖片
瀏覽公共IP地址,會看到nginx的默認(rèn)頁面。
圖片
本文鏈接:http://www.www897cc.com/showinfo-26-34678-0.html超高效,使用Terraform創(chuàng)建Docker鏡像和容器
聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。郵件:2376512515@qq.com
上一篇: Vue 又更新了,性能大幅提升!