网站首页 > 技术教程 正文
大家都知道Terraform是用于创建,管理和操作基础结构资源。其中资源包括物理机,VM,网络交换机,容器等。几乎任何基础设施都可以在Terraform中表示为资源。下面描述如何使用Terraform来部署NGINX容器。
1.创建Terraform配置文件
Terraform基于配置文件(在本例中为config.tf)工作。 配置将您的基础结构定义为provider 和资源(resource )。
Provider 是一种处理底层基础结构并负责管理资源生命周期的抽象方法。
资源是基础架构的组成部分,例如容器或映像。
编辑器允许我们编写config.tf文件。 第一部分(下面)定义了我们要在其中应用配置的docker主机。
provider "docker" {
host = "tcp://docker:2345/"
}
现在,我们可以开始定义基础架构的资源。 第一个资源是我们的Docker映像。 资源具有两个参数,一个是TYPE,另一个是NAME。 类型为docker_image,名称为nginx。 在该块中,我们定义Docker image的名称和标签。
resource "docker_image" "nginx" {
name = "nginx:1.11-alpine"
}
我们可以定义我们的容器资源。 资源类型为docker_container,名称为nginx-server。 在该块内,我们设置资源参数。 我们可以引用其他资源,例如image。
resource "docker_container" "nginx-server" {
name = "nginx-server"
image = "${docker_image.nginx.latest}"
ports {
internal = 80
}
volumes {
container_path = "/usr/share/nginx/html"
host_path = "/home/scrapbook/tutorial/www"
read_only = true
}
}
2.创建计划
定义配置后,我们需要创建一个执行计划。 Terraform描述了实现所需状态所需的操作。 可以使用-out保存该计划。 我们将在下一步中应用执行计划。
要创建计划,请使用CLI
terraform plan -out config.tfplan
命令的输出指示更改。 在这种情况下,您将看到_ + dockercontainer.nginx-server和_ + dockerimage.nginx突出显示添加新资源。 如下图所示,
3.应用计划
一旦创建了计划,我们需要应用它以达到我们期望的状态。
使用CLI,terraform将提取所需的image并启动新容器。
terraform apply
4.检查基础设施(Infrastructure)
您可以使用Docker CLI查看更改并查看新启动的容器。
docker ps
您也可以使用terraform CLI进行检查
terraform show
5.更改基础架构(Infrastructure)
随着基础架构的增长和变化,terraform将管理并确保我们始终处于我们定义的状态。
我们可以更改容器以启动两个实例,每个实例使用不同的名称。
resource "docker_container" "nginx-server" {
count = 2
name = "nginx-server-${count.index+1}"
image = "${docker_image.nginx.latest}"
ports {
internal = 80
}
volumes {
container_path = "/usr/share/nginx/html"
host_path = "/home/scrapbook/tutorial/www"
read_only = true
}
}
如果我们创建这个计划,您将看到Terraform自动创建我们的新定义基础架构以匹配我们的新的配置。
terraform plan -out config.tfplan
因为我们要更改名称并添加资源,所以我们将看到“plan”:
然后,我们可以像上一步一样应用该计划。
terraform apply
猜你喜欢
- 2024-10-14 深入浅出Nginx,如何做到高并发下的高效处理?如何做到热部署?
- 2024-10-14 「Docker类」 使用Dockerfile构建并部署nginx
- 2024-10-14 你所熟悉的nginx还可以用docker这样部署~
- 2024-10-02 Nginx基础部署说明,小白自用(nginx部署配置)
- 2024-10-02 Nginx基础、部署、配置(nginx简单配置)
- 2024-10-02 nginx安装部署和配置管理(nginx1.16安装)
- 2024-10-02 小白爱折腾·其五:如何在Nginx下部署项目文件夹
- 2024-10-02 nginx的完全离线部署教程,涨知识了
你 发表评论:
欢迎- 08-06linux 和 windows文件格式互相转换
- 08-06谷歌 ChromeOS 已支持 7z、iso、tar 文件格式
- 08-06Linux下比较文件内容的6种方法
- 08-06文件格式及功能汇总
- 08-0610个Linux文件内容查看命令的实用示例
- 08-06Linux-如何区分不同文件类型
- 08-06Zabbix技术分享——监控windows进程资源使用情况
- 08-06Linux系统卡顿?学会ps命令这三招,轻松定位问题进程
- 最近发表
- 标签列表
-
- 下划线是什么 (87)
- 精美网站 (58)
- qq登录界面 (90)
- nginx 命令 (82)
- nginx .http (73)
- nginx lua (70)
- nginx 重定向 (68)
- Nginx超时 (65)
- nginx 监控 (57)
- odbc (59)
- rar密码破解工具 (62)
- annotation (71)
- 红黑树 (57)
- 智力题 (62)
- php空间申请 (61)
- 按键精灵 注册码 (69)
- 软件测试报告 (59)
- ntcreatefile (64)
- 闪动文字 (56)
- guid (66)
- abap (63)
- mpeg 2 (65)
- column (63)
- dreamweaver教程 (57)
- excel行列转换 (56)
本文暂时没有评论,来添加一个吧(●'◡'●)