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

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

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

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

1 Terraform配置模块

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

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

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

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

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

2 提供者模块

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

provider "docker" {}

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

3 资源

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

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

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

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

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

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

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

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

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

terraform init

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

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

terraform plan

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

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

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

terraform apply

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

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

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

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

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

docker ps

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

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

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

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

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

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

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

标签:
  • 热门焦点
  • 6月安卓手机性价比榜:Note 12 Turbo断层式碾压

    6月安卓手机性价比榜:Note 12 Turbo断层式碾压

    6月份有一个618,虽然这是京东周年庆的日子,但别的电商也都不约而同的跟进了,反正促销没坏处,厂商和用户都能满意。618期间一些产品也出现了历史低价,那么各个价位段的产品性价比
  • 多线程开发带来的问题与解决方法

    多线程开发带来的问题与解决方法

    使用多线程主要会带来以下几个问题:(一)线程安全问题  线程安全问题指的是在某一线程从开始访问到结束访问某一数据期间,该数据被其他的线程所修改,那么对于当前线程而言,该线程
  • 自动化在DevOps中的力量:简化软件开发和交付

    自动化在DevOps中的力量:简化软件开发和交付

    自动化在DevOps中扮演着重要角色,它提升了DevOps的效能。通过自动化工具和方法,DevOps团队可以实现以下目标:消除手动和重复性任务。简化流程。在整个软件开发生命周期中实现更
  • 一篇文章带你了解 CSS 属性选择器

    一篇文章带你了解 CSS 属性选择器

    属性选择器对带有指定属性的 HTML 元素设置样式。可以为拥有指定属性的 HTML 元素设置样式,而不仅限于 class 和 id 属性。一、了解属性选择器CSS属性选择器提供了一种简单而
  • 每天一道面试题-CPU伪共享

    每天一道面试题-CPU伪共享

    前言:了不起:又到了每天一到面试题的时候了!学弟,最近学习的怎么样啊 了不起学弟:最近学习的还不错,每天都在学习,每天都在进步! 了不起:那你最近学习的什么呢? 了不起学弟:最近在学习C
  • 小红书1周涨粉49W+,我总结了小白可以用的N条涨粉笔记

    小红书1周涨粉49W+,我总结了小白可以用的N条涨粉笔记

    作者:黄河懂运营一条性教育视频,被54万人“珍藏”是什么体验?最近,情感博主@公主是用鲜花做的,火了!仅仅凭借一条视频,光小红书就有超过128万人,为她疯狂点赞!更疯狂的是,这
  • OPPO K11采用全方位护眼屏:三大护眼能力减轻视觉疲劳

    OPPO K11采用全方位护眼屏:三大护眼能力减轻视觉疲劳

    日前OPPO官方宣布,全新的OPPO K11将于7月25日正式发布,将主打旗舰影像,和同档位竞品相比,其最大的卖点就是将配备索尼IMX890主摄,堪称是2000档位影像表
  • 2022爆款:ROG魔霸6 冰川散热系统持续护航

    2022爆款:ROG魔霸6 冰川散热系统持续护航

    喜逢开学季,各大商家开始推出自己的新产品,进行打折促销活动。对于忠实的端游爱好者来说,能够拥有一款梦寐以求的笔记本电脑是一件十分开心的事。但是现在的
  • 世界人工智能大会国际日开幕式活动在世博展览馆开启

    世界人工智能大会国际日开幕式活动在世博展览馆开启

    30日上午,世界人工智能大会国际日开幕式活动在世博展览馆开启,聚集国际城市代表、重量级院士专家、国际创新企业代表,共同打造人工智能交流平台。上海市副市
Top