Terraform-docker部署快速入门
实验步骤
创建 EC2 IAM 角色
导航到
IAM
在左侧菜单中,单击
角色
。单击创建角色
该按钮以创建新的 IAM 角色。在创建角色部分,为角色选择可信实体类型:
AWS 服务
使用案例:EC2
单击下一步
添加权限:现在,您可以看到策略列表。按名称
AdministratorAccess
搜索权限并添加。单击下一步
角色名称:输入
TERRAFORM_EC2
您已成功按名称 TERRAFORM_EC2 创建了一个 IAM 角色。
注意:您可以使用其他名称创建角色,然后将其附加到 EC2 实例
启动 EC2 实例
请确保您位于美国东部(弗吉尼亚北部)us-east-1 区域。
顶部菜单导航到 EC2
左侧面板,单击"实例",然后单击"启动新实例"。
(1)控制台启动实例
(2)选择系统镜像
(3)选择实例类型
(4)配置实例
实例数:输入
1
IAM角色:从列表中选择我们在上面创建的 IAM 角色。
将所有其他设置保留为默认值。单击"下一步:添加存储"
(5)添加存储
(6)添加标签
添加标签:点击添加标签按钮
键:
Name
值:
MyEC2Instance
点击
下一步:配置安全组
(7) 配置安全组
添加 SSH:
. 选择类型: 选择 SSH . 协议:TCP . 端口范围:22 . 源:选择"任何位置"
点击下一步
审核和启动
(8) 审核启动
检查所有选定的设置,无误点击启动
选择现有密钥对,确认并单击启动实例
环境配置
SSH 连接到 EC2 实例
以下命令切换到root权限。
sudo su
以下命令安装本实验所需软件。
yum install git -y
安装 Terraform
yum install -y yum-utils
yum-config-manager --add-repo https://rpm.releases.hashicorp.com/AmazonLinux/hashicorp.repo
yum -y install terraform
安装 Docker
yum install docker -y
service docker start
安装 Docker 预配 NGINX 服务器容器
创建一个名为
learn-terraform-docker-container
的目录。
mkdir learn-terraform-docker-container
然后,导航到它。
cd learn-terraform-docker-container
将以下 Terraform 配置粘贴到文件中并将其另存为
main.tf
terraform {
required_providers {
docker = {
source = "kreuzwerker/docker"
version = "~> 2.13.0"
}
}
}
provider "docker" {}
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 = 8080
}
}
初始化项目,这会下载所需插件,允许
Terraform
与Docker
进行交互。
terraform init
预配 NGINX 服务器容器。当
Terraform
要求您确认时。请输入yes
terraform apply
查看容器
docker ps
访问 NGINX 容器进行验证
示例:
curl localhost:8080
现在已成功验证 Docker容器
若要停止容器,请运行以下命令并输入
yes
确认
terraform destroy
您现在已经使用Terraform配置并销毁了NGINX网络服务器。