当前位置:首页 > 科技  > 软件

超高效,使用Terraform创建Docker镜像和容器

来源: 责编: 时间:2023-11-28 09:37:11 381观看
导读为了实现自动化操作,Terraform需要明确指定所使用的提供者。因此,在主要的main.tf文件中,需要提供提供者的名称、源和版本信息。对于Docker,可以在main.tf中使用以下代码块。1 Terraform配置模块使用块和资源创建Terrafor

为了实现自动化操作,Terraform需要明确指定所使用的提供者。因此,在主要的main.tf文件中,需要提供提供者的名称、源和版本信息。对于Docker,可以在main.tf中使用以下代码块。ehA28资讯网——每日最新资讯28at.com

1 Terraform配置模块

使用块和资源创建Terraform脚本。ehA28资讯网——每日最新资讯28at.com

terraform {  required_providers {    docker = {      source  = "kreuzwerker/docker"      version = "~> 2.21.0"    }  }}

这是一个Terraform配置模块,指定了所需的Docker提供者及其版本。ehA28资讯网——每日最新资讯28at.com

在这个配置中,指定了Terraform代码需要使用Docker提供者与Docker容器进行交互。source参数指定了提供者代码的位置,在这种情况下为kreuzwerker/docker GitHub存储库。version参数指定了应使用的提供者的最低版本。ehA28资讯网——每日最新资讯28at.com

图片图片ehA28资讯网——每日最新资讯28at.com

2 提供者模块

提供者块配置了指定的提供者,此处为docker。提供者是Terraform用于创建和管理资源的插件。ehA28资讯网——每日最新资讯28at.com

provider "docker" {}

图片图片ehA28资讯网——每日最新资讯28at.com

3 资源

使用资源块定义基础架构的组件。资源可以是物理或虚拟组件,如Docker容器,也可以是逻辑资源,如Heroku应用程序。ehA28资讯网——每日最新资讯28at.com

资源块在块之前有两个字符串:资源类型和资源名称。在此示例中,第一个资源类型是docker_image,名称为Nginx。ehA28资讯网——每日最新资讯28at.com

为nginx docker镜像创建资源块ehA28资讯网——每日最新资讯28at.com

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

为运行nginx的docker容器创建资源块ehA28资讯网——每日最新资讯28at.com

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

图片图片ehA28资讯网——每日最新资讯28at.com

在创建Terraform配置文件(使用.tf扩展名)之后,使用以下Terraform命令来配置和管理基础架构:ehA28资讯网——每日最新资讯28at.com

Terraform init: 通过下载和安装所需的提供者和模块、初始化后端并下载必要的插件,初始化新的或现有的Terraform工作目录。ehA28资讯网——每日最新资讯28at.com

terraform init

图片图片ehA28资讯网——每日最新资讯28at.com

Terraform plan: 生成执行计划,显示Terraform将采取哪些操作来达到配置文件中指定的期望状态。该命令还报告将对基础架构进行的任何更改。ehA28资讯网——每日最新资讯28at.com

terraform plan

图片图片ehA28资讯网——每日最新资讯28at.com

图片图片ehA28资讯网——每日最新资讯28at.com

Terraform apply: 执行terraform plan生成的执行计划中提出的操作。该命令会配置和提供在配置文件中定义的基础架构。ehA28资讯网——每日最新资讯28at.com

terraform apply

图片图片ehA28资讯网——每日最新资讯28at.com

图片图片ehA28资讯网——每日最新资讯28at.com

如果未安装Docker,请使用以下命令:ehA28资讯网——每日最新资讯28at.com

sudo apt-get install docker.iosudo docker pssudo chown $USER /var/run/docker.sock

使用以下命令检查是否创建了Docker容器:ehA28资讯网——每日最新资讯28at.com

docker ps

图片图片ehA28资讯网——每日最新资讯28at.com

浏览公共IP地址,会看到nginx的默认页面。ehA28资讯网——每日最新资讯28at.com

图片图片ehA28资讯网——每日最新资讯28at.com

本文链接:http://www.28at.com/showinfo-26-34678-0.html超高效,使用Terraform创建Docker镜像和容器

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。邮件:2376512515@qq.com

上一篇: Vue 又更新了,性能大幅提升!

下一篇: 解密Spring Cloud微服务调用:如何轻松获取请求目标方的IP和端口

标签:
  • 热门焦点
  • 直屏旗舰来了 iQOO 12和K70 Pro同台竞技

    旗舰机基本上使用的都是双曲面屏幕,这就让很多喜欢直屏的爱好者在苦等一款直屏旗舰,这次,你们等到了。据博主数码闲聊站带来的最新爆料称,Redmi下代旗舰K70 Pro和iQOO 12两款手
  • 天猫精灵Sound Pro体验:智能音箱没有音质?来听听我的

    这几年除了手机作为智能生活终端最主要的核心之外,第二个可以成为中心点的产品是什么?——是智能音箱。 手机在执行命令的时候有两种操作方式,手和智能语音助手,而智能音箱只
  • 十个简单但很有用的Python装饰器

    装饰器(Decorators)是Python中一种强大而灵活的功能,用于修改或增强函数或类的行为。装饰器本质上是一个函数,它接受另一个函数或类作为参数,并返回一个新的函数或类。它们通常用
  • 如何通过Python线程池实现异步编程?

    线程池的概念和基本原理线程池是一种并发处理机制,它可以在程序启动时创建一组线程,并将它们置于等待任务的状态。当任务到达时,线程池中的某个线程会被唤醒并执行任务,执行完任
  • 使用AIGC工具提升安全工作效率

    在日常工作中,安全人员可能会涉及各种各样的安全任务,包括但不限于:开发某些安全工具的插件,满足自己特定的安全需求;自定义github搜索工具,快速查找所需的安全资料、漏洞poc、exp
  • 重估百度丨“晚熟”的百度云,能等到春天吗?

    ©自象限原创作者|程心排版|王喻可2016年7月13日,百度云计算战略发布会在北京举行,宣告着百度智能云的正式启程。彼时的会场座无虚席,甚至排队排到了门外,在场的所有人几乎都
  • 年轻人的“职场羞耻感”,无处不在

    作者:冯晓亭 陶 淘 李 欣 张 琳 马舒叶来源:燃次元“人在职场,应该选择什么样的着装?”近日,在网络上,一个与着装相关的帖子引发关注,在该帖子里,一位在高级写字楼亚洲金
  • 小米MIX Fold 3配置细节曝光:搭载领先版骁龙8 Gen2+罕见5倍长焦

    这段时间以来,包括三星、一加、荣耀等等有不少品牌旗下的最新折叠屏旗舰都得到了不少爆料,而小米新一代折叠屏旗舰——小米MIX Fold 3此前也屡屡被传
  • iQOO 11S或7月上市:搭载“鸡血版”骁龙8Gen2 史上最强5G Soc

    去年底,iQOO推出了“电竞旗舰”iQOO 11系列,作为一款性能强机,iQOO 11不仅全球首发2K 144Hz E6全感屏,搭载了第二代骁龙8平台及144Hz电竞屏,同时在快充
Top