从0到DevOps(1)-初步了解DevOps和容器

2024-09-01 05:52
文章标签 初步 了解 容器 devops

本文主要是介绍从0到DevOps(1)-初步了解DevOps和容器,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

DevOps从提出以来陆续成为行业普遍实践,目前是数字化生产普遍不可或缺的信息底座。本系列文章旨在系统性的阐述与认识DevOps, 了解企业实践里DevOps的实际面貌。

什么是DevOps? 

DevOps 是一套实践、工具和文化理念,为实现用户不断的软件功能和可用性要求, 实现软件开发团队和 IT 团队之间的流程自动化和集成。它强调团队赋能、跨团队沟通和协作以及技术自动化。

DevOps 运动始于 2007 年左右,当时软件开发和 IT 运营社区开始担忧传统的软件开发模式。在此模式下,编写代码的开发人员与部署和支持代码的运营人员会独立工作。DevOps 这一术语由“开发”和“运营”两个词构成,它反映了将这些领域整合为一个持续流程的过程。

本质上, DevOps是以不断加剧的需求为中心倒逼的生产方式改革, 从工程化角度的落地实践. 这样背景下, 开发与运维的技术密度也快速上升. 

Image

DevOps 生命周期由八个阶段组成,它们分别代表开发(循环的左半部分)和运营(循环的右半部分)所需的流程、功能和工具。它通常包含这八个步骤: 规划, 编码, 构建持续集成和持续交付, 测试, 发布, 部署, 运行, 监控.

容器是什么?

容器是DevOps里一个很重要的部分。传统的物理机,或者虚拟机方式不满足软件快速变化迭代, 服务弹性扩缩容等环境配置和资源编排要求,容器技术因此而生。容器和虚拟机是非常相似的资源虚拟化技术。虚拟化是一个过程,在这个过程中,RAM、CPU、磁盘或网络等系统单一资源可以“虚拟化”并表示为多个资源。容器和虚拟机之间的主要区别在于,虚拟机将整个计算机虚拟化到硬件层,而容器只虚拟化操作系统级别以上的软件层。

Image

容器怎么使用? 

以Windows系统为例, 简单带大家认识一下容器. 

1.  Windows 10/11进入Control Panel -> Programs and Features, 先安装 WSL (Windows Subsystem for Linux) 以及 VMP (Virtual Machine Platform)

Image

2. 安装WSL2, 用管理员身份打开powershell, 运行:

wsl.exe --updatewsl --install -d Debian

跑完会发现系统里有了Debian图标,打开Debian图标就可以在Windows里使用Debian Linux

Image

Image

3. 下载安装Docker Windows. 配置里选择使用WSL2引擎。到这里container Engine就准备好了

https://docs.docker.com/docker-for-windows/wsl/#download

Image

4. 接下来准备容器镜像运行实际容器。在Docker Desktop 搜索框搜索 helloworld, 会看到这个测试镜像, 点击Pull. 下载完成后到Docker Desktop Images就会看到下载下来的镜像

Image

5. 注意这个大小容量, 结合上述容器以及虚拟机的差异, 可以看到容器轻量化。 点击运行(run)启动这个镜像。 到docker desktop Containers里就会看到这个容器实例。到Debian bash 里运行 docker ps, 能看到容器信息:

Image

Image

6. 打开浏览器访问 localhost:8080, 已经可以访问到应用:

Image

7. 查看容器详情, 可以看到容器内的文件。使用docker cp命令可以简便实现Windows和容器之间的文件传输如:​​​​​​​

docker cp foo.txt container_id:/foo.txtdocker cp container_id:/foo.txt foo.txt

Image

到这就完成了容器的使用和基本了解。 后续笔者将容器的基本使用, 以及DevOps的内容分批介绍。欢迎关注生产力联盟并留言交流

这篇关于从0到DevOps(1)-初步了解DevOps和容器的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1126124

相关文章

SpringIOC容器Bean初始化和销毁回调方式

《SpringIOC容器Bean初始化和销毁回调方式》:本文主要介绍SpringIOC容器Bean初始化和销毁回调方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录前言1.@Bean指定初始化和销毁方法2.实现接口3.使用jsR250总结前言Spring Bea

一文详解Java异常处理你都了解哪些知识

《一文详解Java异常处理你都了解哪些知识》:本文主要介绍Java异常处理的相关资料,包括异常的分类、捕获和处理异常的语法、常见的异常类型以及自定义异常的实现,文中通过代码介绍的非常详细,需要的朋... 目录前言一、什么是异常二、异常的分类2.1 受检异常2.2 非受检异常三、异常处理的语法3.1 try-

如何高效移除C++关联容器中的元素

《如何高效移除C++关联容器中的元素》关联容器和顺序容器有着很大不同,关联容器中的元素是按照关键字来保存和访问的,而顺序容器中的元素是按它们在容器中的位置来顺序保存和访问的,本文介绍了如何高效移除C+... 目录一、简介二、移除给定位置的元素三、移除与特定键值等价的元素四、移除满足特android定条件的元

如何将Tomcat容器替换为Jetty容器

《如何将Tomcat容器替换为Jetty容器》:本文主要介绍如何将Tomcat容器替换为Jetty容器问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Tomcat容器替换为Jetty容器修改Maven依赖配置文件调整(可选)重新构建和运行总结Tomcat容器替

一文带你了解SpringBoot中启动参数的各种用法

《一文带你了解SpringBoot中启动参数的各种用法》在使用SpringBoot开发应用时,我们通常需要根据不同的环境或特定需求调整启动参数,那么,SpringBoot提供了哪些方式来配置这些启动参... 目录一、启动参数的常见传递方式二、通过命令行参数传递启动参数三、使用 application.pro

C++从序列容器中删除元素的四种方法

《C++从序列容器中删除元素的四种方法》删除元素的方法在序列容器和关联容器之间是非常不同的,在序列容器中,vector和string是最常用的,但这里也会介绍deque和list以供全面了解,尽管在一... 目录一、简介二、移除给定位置的元素三、移除与某个值相等的元素3.1、序列容器vector、deque

C++常见容器获取头元素的方法大全

《C++常见容器获取头元素的方法大全》在C++编程中,容器是存储和管理数据集合的重要工具,不同的容器提供了不同的接口来访问和操作其中的元素,获取容器的头元素(即第一个元素)是常见的操作之一,本文将详细... 目录一、std::vector二、std::list三、std::deque四、std::forwa

一文带你深入了解Python中的GeneratorExit异常处理

《一文带你深入了解Python中的GeneratorExit异常处理》GeneratorExit是Python内置的异常,当生成器或协程被强制关闭时,Python解释器会向其发送这个异常,下面我们来看... 目录GeneratorExit:协程世界的死亡通知书什么是GeneratorExit实际中的问题案例

Python容器类型之列表/字典/元组/集合方式

《Python容器类型之列表/字典/元组/集合方式》:本文主要介绍Python容器类型之列表/字典/元组/集合方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1. 列表(List) - 有序可变序列1.1 基本特性1.2 核心操作1.3 应用场景2. 字典(D

Java springBoot初步使用websocket的代码示例

《JavaspringBoot初步使用websocket的代码示例》:本文主要介绍JavaspringBoot初步使用websocket的相关资料,WebSocket是一种实现实时双向通信的协... 目录一、什么是websocket二、依赖坐标地址1.springBoot父级依赖2.springBoot依赖