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

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

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

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

1 Terraform配置模块

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

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

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

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

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

2 提供者模块

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

provider "docker" {}

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

3 资源

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

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

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

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

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

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

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

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

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

terraform init

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

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

terraform plan

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

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

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

terraform apply

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

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

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

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

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

docker ps

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

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

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

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

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

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

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

标签:
  • 热门焦点
  • 对标苹果的灵动岛 华为带来实况窗功能

    继苹果的灵动岛之后,华为也在今天正式推出了“实况窗”功能。据今天鸿蒙OS 4.0的现场演示显示,华为的实况窗可以更高效的展现出实时通知,比如锁屏上就能看到外卖、打车、银行
  • Redmi Pad评测:红米充满野心的一次尝试

    从Note系列到K系列,从蓝牙耳机到笔记本电脑,红米不知不觉之间也已经形成了自己颇有竞争力的产品体系,在中端和次旗舰市场上甚至要比小米新机的表现来得更好,正所谓“大丈夫生居
  • 6月安卓手机好评榜:魅族20 Pro蝉联冠军

    性能榜和性价比榜之后,我们来看最后的安卓手机好评榜,数据来源安兔兔评测,收集时间2023年6月1日至6月30日,仅限国内市场。第一名:魅族20 Pro好评率:95%5月份的时候魅族20 Pro就是
  • 一文看懂为苹果Vision Pro开发应用程序

    译者 | 布加迪审校 | 重楼苹果的Vision Pro是一款混合现实(MR)头戴设备。Vision Pro结合了虚拟现实(VR)和增强现实(AR)的沉浸感。其高分辨率显示屏、先进的传感器和强大的处理能力
  • Java NIO内存映射文件:提高文件读写效率的优秀实践!

    Java的NIO库提供了内存映射文件的支持,它可以将文件映射到内存中,从而可以更快地读取和写入文件数据。本文将对Java内存映射文件进行详细的介绍和演示。内存映射文件概述内存
  • Flowable工作流引擎的科普与实践

    一.引言当我们在日常工作和业务中需要进行各种审批流程时,可能会面临一系列技术和业务上的挑战。手动处理这些审批流程可能会导致开发成本的增加以及业务复杂度的上升。在这
  • 东方甄选单飞:有些鸟注定是关不住的

    文/彭宽鸿编辑/罗卿东方甄选创始人俞敏洪带队的“7天甘肃行”直播活动已在近日顺利收官。成立后一年多时间里,东方甄选要脱离抖音自立门户的传闻不绝于耳,“7
  • 苹果140W USB-C充电器:采用氮化镓技术

    据10 月 30 日 9to5 Mac 消息报道,当苹果推出新的 MacBook Pro 2021 时,该公司还推出了新的 140W USB-C 充电器,附赠在 MacBook Pro 16 英寸机型的盒子里,也支
  • 2022爆款:ROG魔霸6 冰川散热系统持续护航

    喜逢开学季,各大商家开始推出自己的新产品,进行打折促销活动。对于忠实的端游爱好者来说,能够拥有一款梦寐以求的笔记本电脑是一件十分开心的事。但是现在的
Top