docker有必要学吗(学docker就是运维嘛)

2024-04-18 01:40:06 14

docker有必要学吗(学docker就是运维嘛)

本文目录

学docker就是运维嘛

只能说会docker可以做运维,现在有的产品部署在docker这样就需要懂的人来维护毕竟属于前沿的东西 学了总没坏处了解更多运维知识可以看看《Linux就该这么学》

入门运维为什么要学Docker

运维自动化的关键在于标准化。当你有一个成熟的团队,有标准化的流程,那么运维自动化就水到渠成了。而如果你什么都没有,那就需要先设定优先级。我们的目标当然是将所有的流程标准化,而哪些要放在前面做?做起来比较简单的,和比较重要的。我认为构建和测试的流程是最基本的第一步。这对于交付产品的公司来说容易一些,对互联网公司来说更复杂一些,而测试比构建也要复杂一些,但这是基础。构建和测试的流程标准化做好了,就可以准备做自动化的工作了。不过我见过的很多公司连Git都还没有,仍然在用最原始的FTP push来更新代码。我的观点是,如果你还没有用上Git这样的工具,那根本就不用考虑什么自动化的问题,因为条件完全不成熟。所以,我们假设你的团队能够很好的使用Git,然后你建立了构建和测试的标准化流程,然后你就可以用工具来实现自动化。这可能是Jenkins这样的工具,不过Jenkins比较复杂,如果你只是一个很简单的网站,那么自己写一些脚本来实现自动化是更合适的。到此为止,我们说的还不是自动化运维,而是自动化工具链。工具链就是开发工具链,从IDE,到代码提交,代码审查,构建,到测试,仍然属于开发的范畴。在这之后才是运维的范畴,就是往生产环节部署。部署运维自动化最关键的部分是运行环境的定义。我们的目标是让各个阶段的代码完全一样,即开发者在自己笔记本上写的代码,到集成阶段的代码,到线上环境的代码,都是一致的。为什么Docker这么火,就是因为它帮助开发者很简单的就让自己的开发环境跟生产环境一致。环境的标准化,意味着目录、路径、配置文件、储存用户名密码的方式、访问权限、域名等种种细节的一致和差异处理的标准化。这涉及到很多方面,也是自动化运维最困难的一部分。这里要注意的是,像Puppet这样的工具并不是魔法。你需要自己为你的环境定义一套描述的方式,工具是无法为你完成这项工作的。无论是Puppet还是Jenkins,都是根据你的定义来管理你的环境。你决定用户名和密码如何储存,你决定配置文件的路径。开发者很喜欢把各种配置和url之类的参数硬编码到代码里,这很快;他们还喜欢东搞西搞的用一些乱七八糟的手段让软件通过测试,但是如果要构建一个真正的系统,这些小把戏根本没用。你必须强迫他们采用标准的方式写代码,比如强制他们把用户名和密码写在固定的地方,然后你才能跟Puppet说,配置文件在这里,测试环境用这个配置,生产环节用那个配置。到这里就很简单了。线上环境问题排查对于线上环境的问题发现与解决,大部分基础的问题都能用工具来自动发现并提醒,比如磁盘空间不够,比如MySQL崩溃,比如访问网站的时候出现错误页面等等,有很多现成的工具可以抓到它们错误的信息。比较困难的是排查网站为什么变慢这样的性能问题。我们经常看到客户的开发团队提交新代码后引入问题。在测试做得不好的时候这很常见,事实上很多东西是很难测试的,尤其是性能;而互联网公司又尤其没有测试的文化,互联网开发人员大多关注特性的实现,而不像传统企业级开发那样有很多测试的工具和流程。理想的情况下,每个人提交代码前都应该测试。但既然反正也没人这样做,那么用工具来帮忙还是很有用的。比如New Relic这样的工具就很强大,它可以发现代码层面的问题。我们有时候也用我们的工具帮客户做测试,包括负载测试。性能测试是挺困难的一件事,既不容易用起来,也不容易让别人用起来,一般来说你需要一个专门的团队才能做性能测试,但互联网公司基本没有(除了Google、Facebook这样的),就算想有也找不到人。所以要善用工具。Docker的意义Docker很有意思,很火,很新,当然也很多问题。它目前没多少大型部署案例,所以人们不断的发现问题也是很正常的事情。总体来说,Docker是一个对开发者非常友好的东西:简单的实现不同机器上的环境标准化,可以轻松拿来拿去,而且在不同的云平台上都支持。而把Docker用起来对运维而言则是很大的挑战,我们帮一个客户做一个规模较大的Docker部署,一个有经验的DevOps团队也花费了几个月的时间。为什么?Docker容器就跟VM差不多,从运维的角度,会希望像管理VM那样管理Docker容器,但是Docker容器很难troubleshooting,因为默认来说它没有SSH,你要怎么登陆到一个容器里去查看里面发生了什么问题?Troubleshooting,这是一个最大的问题。默认来说,Docker容器也无法运行cron任务或者batch任务,意味着你没法儿让它自动做备份之类的工作,而这是最基本的运维任务,这是另一个必须解决的问题,否则你根本无法构建一个自动化管理的云环境,而要解决这个问题,你需要搞一些手段,比如改造它的架构,但是你一折腾,又引入了很多新的问题要解决。Docker有很好的网络机制,但是也很复杂,所以我们bypass了所有的Docker网络,而这也引入了一些问题。Docker容器也没有好的重启方法,因为你很难看到哪个是哪个,需要做一些好的命名映射的管理系统。总之,要在大型部署中把Docker玩好,你需要各个方面的专家,还需要时间。我并不怀疑Docker是趋势,它的概念非常好,会极大的改善开发者的世界。如果你的系统比较简单,不是很大,那么用Docker是完全没问题的。而且它的文档很好,这也是很赞的地方。我相信它会引领未来。它只是还需要时间来完善。而这也不奇怪:想想KVM,其实KVM做的事情很简单,就关注系统层和CPU、内存、存储、网络的交互,并不难理解,但即使是目标如此简单的项目也多年处于问题层出不穷的状态,人们不断的围绕它开发工具,改进它,才到了今天的可用状态。Docker则复杂的多,有很多层:它是一个环境管理系统,它是个打包系统,它是个文件系统,它包含一套网络机制,它是一个repo系统,它是个代码系统,等等。基本上,Docker想要把所有的东西都扔到一个小盒子里,五脏俱全。当你用Docker提交代码时,你做的事情跟以前是完全不同的。在以前我们只是把代码提交上去,而在Docker中我们把整台计算机(虚拟机)提交上去。想象一下,这就好像是交换电脑一样,开发者把整台电脑交给运维,电脑里面的环境和代码都有了,是不变的;而运维需要把所有的电源网线什么的都插回去,需要处理很多变化的东西,比如变更的IP、用户名、文件系统等等。这是全新的方式。

学虚拟化是学docker hpye-v openstack kvm 还是vmware啊 有什么差别

都有,一个是硬件,一个是软件,前者是基于硬件开发的虚拟化网络技术,后者是基于系统平台的虚拟化应用技术

docker有必要学吗(学docker就是运维嘛)

本文编辑:admin

本文相关文章:


docker有必要学吗(学虚拟化是学docker hpye-v openstack kvm 还是vmware啊 有什么差别)

docker有必要学吗(学虚拟化是学docker hpye-v openstack kvm 还是vmware啊 有什么差别)

本文目录学虚拟化是学docker hpye-v openstack kvm 还是vmware啊 有什么差别学docker就是运维嘛入门运维为什么要学Docker学虚拟化是学docker hpye-v openstack kvm 还是vmwa

2024年7月7日 22:18

更多文章:


vant组件库(layui.js内置模块有vant吗)

vant组件库(layui.js内置模块有vant吗)

本文目录layui.js内置模块有vant吗vant如何使用步进器组件的外部样式类vant navbar背景修改后会遮挡下面的文字怎么办layui.js内置模块有vant吗没有,需要项目中引入vant并修改主题。vant是由有赞前端团队维护

2024年7月24日 05:57

cmd中copy怎么用(如何在CMD下把指定文件复制到指定文件夹内)

cmd中copy怎么用(如何在CMD下把指定文件复制到指定文件夹内)

本文目录如何在CMD下把指定文件复制到指定文件夹内cmd copy命令 文件复制怎么在CMD下复制“文件夹“cmd怎样复制粘贴如何在CMD下把指定文件复制到指定文件夹内可以使用CMD模式下的copy命令,将E盘下的文本文件“1.txt”(路

2024年3月22日 17:10

sqlite官网(sqlite怎么安装)

sqlite官网(sqlite怎么安装)

本文目录sqlite怎么安装sqlite应该下载哪个文件请教windows下,安装sqlite3的方法vs2013 调用sqlitesqlite怎么安装  需要先下载后安装,安装步骤如下:  1、打开浏览器进入SQLite主页,;  2、单

2024年7月11日 23:32

python方向选择(学会python可以有哪些就业方向天津python培训)

python方向选择(学会python可以有哪些就业方向天津python培训)

大家好,如果您还对python方向选择不太了解,没有关系,今天就由本站为大家分享python方向选择的知识,包括学会python可以有哪些就业方向天津python培训的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始吧!本文目录

2024年9月26日 05:30

fdisk使用方法?fdisk 命令分区操作中,创建新分区的子命令是

fdisk使用方法?fdisk 命令分区操作中,创建新分区的子命令是

本文目录fdisk使用方法fdisk 命令分区操作中,创建新分区的子命令是fdisk如何使用fdisk使用方法一、全新硬盘分区(下面的介绍是假设你的电脑所有必须硬件安装完好) 1、在做FDISK分区之前,检查你的电脑主板的CMOS启动顺序是

2024年7月20日 01:55

curling溃疡怎么读(curling iron 怎么读)

curling溃疡怎么读(curling iron 怎么读)

本文目录curling iron 怎么读curling读什么curling iron 怎么读你好!curling iron 英 卷发棒curling读什么curling英 美 n.冰壶,冰上溜石游戏(将重石片滑向一目标)v.弯曲

2024年7月8日 17:17

spacedesk官网(spacedesk最低ios几)

spacedesk官网(spacedesk最低ios几)

本文目录spacedesk最低ios几spacedesk为什么没有图标spacedesk连接出现displaydisconnectspacedesk最低ios几双显示器似乎非常高大上,但其实借助平板,就可以玩一把双显示器甚至多显示器!闲置平

2024年7月23日 14:50

pgc全球总决赛2021赛程(2021pgc全球总决赛MCG进的去嘛)

pgc全球总决赛2021赛程(2021pgc全球总决赛MCG进的去嘛)

本文目录2021pgc全球总决赛MCG进的去嘛pgc世界赛2022赛程pgc2022赛程2021pgc全球总决赛MCG进的去嘛2021pgc全球总决赛MCG进的去。2021PGC全球总决赛于11月19日拉开帷幕,来自全球四大赛区的32支顶尖

2024年6月30日 18:40

chromium安卓下载(安卓手机上推荐的三个浏览器,你安装了哪一个(2))

chromium安卓下载(安卓手机上推荐的三个浏览器,你安装了哪一个(2))

本文目录安卓手机上推荐的三个浏览器,你安装了哪一个(2)如何利用Chromium For Android开发Android浏览器电脑哪个浏览器比较好Android 版 Chrome 浏览器为什么迟迟不支持插件Android端Edge已从Ch

2024年7月16日 11:08

spyder和python一样吗(python和spyder的区别)

spyder和python一样吗(python和spyder的区别)

大家好,如果您还对spyder和python一样吗不太了解,没有关系,今天就由本站为大家分享spyder和python一样吗的知识,包括python和spyder的区别的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始吧!本文目

2024年8月15日 03:15

task怎么读(task中文是什么意思)

task怎么读(task中文是什么意思)

本文目录task中文是什么意思task是什么意思并加读音task是什么意思任务的英文是什么task term怎么读任务完成英文是什么task中文是什么意思n. 任务;工作vt. 交给某人(任务);使做艰苦的工作一、读音:英 [tɑːsk];

2024年5月4日 07:52

前端培训线上(前端线上培训哪个好)

前端培训线上(前端线上培训哪个好)

大家好,前端培训线上相信很多的网友都不是很明白,包括前端线上培训哪个好也是一样,不过没有关系,接下来就来为大家分享关于前端培训线上和前端线上培训哪个好的一些知识点,大家可以关注收藏,免得下次来找不到哦,下面我们开始吧!本文目录前端线上培训哪

2024年8月26日 11:35

开源中国是干什么的(开源是干什么的)

开源中国是干什么的(开源是干什么的)

本文目录开源是干什么的共享系统开发源码怎么找开源中国 · PostCSS是个什么鬼东西开源中国社区的软件代码可信吗安全吗开源是干什么的开源通俗来讲 就是开放源代码 比如开源CMS程序 discuz 就是discuz程序开源共享给你

2024年7月22日 04:10

xml批量修改app(bat批量修改xml里某个值的数据)

xml批量修改app(bat批量修改xml里某个值的数据)

“xml批量修改app”相关信息最新大全有哪些,这是大家都非常关心的,接下来就一起看看xml批量修改app(bat批量修改xml里某个值的数据)!本文目录bat批量修改xml里某个值的数据批量修改并保存xml文件怎样批量替换几千个文件名不同

2024年8月19日 01:55

数据结构课程设计报告总结(数据课程设计心得体会)

数据结构课程设计报告总结(数据课程设计心得体会)

本文目录数据课程设计心得体会数据库课程设计心得体会范文数据结构课设总结数据结构课程设计分析报告求一份数据结构课程设计报告c++数据结构课程设计总结怎么写(最好是三段的)求一数据结构课程设计心得体会数据结构实验的实验报告怎么写数据结构的课程设

2024年7月8日 09:18

directions是什么意思中文(directions是什么意思)

directions是什么意思中文(directions是什么意思)

本文目录directions是什么意思direction什么意思中文翻译英语考试directions是什么英语听力中direction是什么意思呢英语考试试卷中的Directions是什么意思DIRECTIONS中文是directions是

2024年7月8日 00:29

博客源码分享教程(新浪博客发布博文包含源代码怎么弄)

博客源码分享教程(新浪博客发布博文包含源代码怎么弄)

这篇文章给大家聊聊关于博客源码分享教程,以及新浪博客发布博文包含源代码怎么弄对应的知识点,希望对各位有所帮助,不要忘了收藏本站哦。本文目录新浪博客发布博文包含源代码怎么弄在博客中怎样编辑页面源代码新浪博客发布博文包含源代码怎么弄你肯定是从其

2024年9月27日 09:00

patriotic词源(活动运动英语单词是什么)

patriotic词源(活动运动英语单词是什么)

本文目录活动运动英语单词是什么健身的英语单词怎么写活动运动英语单词是什么运动的英语单词:movement读音:英 n. 活动;运动;动作词汇搭配:1、avoid a movement 回避运动2、control a movement 控制运

2024年7月15日 05:23

python每秒并发2000个请求(高并发,用Python适合吗)

python每秒并发2000个请求(高并发,用Python适合吗)

本文目录高并发,用Python适合吗如何使用python模拟高并发请求有没有人写过python的一秒3000个并发请求的服务端python高并发怎么解决如何看待python的japronto框架每秒处理120万次请求高并发,用Python适

2023年11月14日 19:00

仓库管理系统java课程设计(java仓库管理系统的打印功能是怎么实现的)

仓库管理系统java课程设计(java仓库管理系统的打印功能是怎么实现的)

本文目录java仓库管理系统的打印功能是怎么实现的C语言仓库管理系统用java窗口编仓库管理系统,我要崩溃了,我根本就不会!有没有能教我的或者告诉我教学视频在哪基于java的仓库管理系统怎么做java仓库管理系统源码基于Java的仓库管理系

2024年7月20日 11:02

近期文章

本站热文

iphone vpn设置(ios设置vpn快捷开关)
2024-07-22 15:01:12 浏览:2334
windows12正式版下载(操作系统Windows Server 2012 R2,在哪能下载到,公司用的)
2024-07-20 17:26:53 浏览:1731
java安装教程(win10如何安装JAVA)
2024-07-19 19:55:49 浏览:1156
client mfc application未响应(每次进cf就提示client MFC Application未响应该怎么办啊!急急急)
2024-07-20 11:15:58 浏览:1152
标签列表

热门搜索