0
0
Login
Code
Issues
Pull requests
Events
Packages
fac5101c845b21807adf0d5f41e074333971d24c
README

Hello world

在当前的这个示例中,您将通过云原生构建实现,使用 terrform 来管理你的 Docker 容器。

Prerequisites

  1. 了解 terraform 相关基础知识,基本概念和命令,如terraform init、terraform plan、terraform apply和terraform destroy等。
  2. 使用 云原生构建(CNB) 来管理你的Terraform配置文件,以便进行版本管理和协作开发。

Review example configuration

根目录的 main.tf 文件定义了一个访问本地 Docker 的镜像和容器资源。这是一个创建 nginx docker 容器的应用程序。

terraform 使用了 kreuzwerker/dockerprovider 程序,创建了两个资源

  1. 创建了一个镜像资源,拉取 nginx:latest 镜像
  2. 使用上一个镜像资源,创建了一个容器资源,并开放端口 8000 映射到容器内的 80 端口
terraform {
  required_providers {
    docker = {
      source = "kreuzwerker/docker"
      version = "~> 3.0.1"
    }
  }
}

provider "docker" {}

resource "docker_image" "nginx" {
  name         = "nginx:latest"
  keep_locally = false
}

resource "docker_container" "nginx" {
  image = docker_image.nginx.image_id
  name  = "tutorial"
  ports {
    internal = 80
    external = 8000
  }
}

Create infrastructure

通过云原生构建,使用 terrform 完成资源部署和管理

master:
  push:
    - name: Terraform by Example
      services:
        - docker
      docker:
        image: hashicorp/terraform
      stages:
        - name: docker image ls
          script: docker image ls
        - name: docker ps
          script: docker ps
        - name: init
          script: terraform init
        - name: plan
          script: terraform plan
        - name: apply
          script: terraform apply -auto-approve
        - name: docker image ls
          script: docker image ls
        - name: docker ps
          script: docker ps

流水线运行后,对应 terrform 创建资源情况 执行结果示例

流水线运行后,对应 terrform 创建资源情况和结果 执行结果示例

流水线运行后,创建了一个容器,并开放了端口 执行结果示例

云原生开发,创建一个支持 terrform 的开发环境

创建 .ide/Dockerfile 配置文件,定制云原生开发执行环境

FROM hashicorp/terraform as tf

FROM node:20

# install vscode and extension
RUN curl -fsSL https://code-server.dev/install.sh | sh &&\
    code-server --install-extension hashicorp.terraform &&\
    echo done

COPY --from=tf /bin/terraform /usr/local/bin/terraform

点击 云原生开发,创建一个 Web 开发环境

云原生开发

在当前开发环境可以直接执行 terrform 相关命令,进行 IaC 基础设施即代码思想下的Terraform工具实战

云原生开发

About

通过云原生构建实现,使用 terraform 来管理你的 Docker 容器。

terraformexample

Release
0

Tag
0
Language
Markdown53.7%
gitignore18.4%
Terraform11.9%
YAML10.9%
Dockerfile5%
Others0.1%