热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

图表君聊Docker开篇

图表君聊Docker-开篇今天是图表君聊Docker的第一篇,为什么会有这个系列呢?容器技术Docker出现已经有一段时间了,之前零零星星的也看过一些文章,图表君的项目上也在使用D
图表君聊Docker-开篇

今天是图表君聊Docker的第一篇,为什么会有这个系列呢?容器技术Docker出现已经有一段时间了,之前零零星星的也看过一些文章,图表君的项目上也在使用Docker。但对于Docker技术的理解仅仅皮毛而已,工作上用到也只是写写DockerFile,遇到问题的时候Google一下。最近刚好参加了Docker培训,正好趁着这个机会,深入学习一下。一句话总结Docker,这货真是个改变世界的技术。

Docker的由来

Docker原来只是dotCloud公司的内部业余项目,基于Go语言实现,后来开源并加入了Linux基金会,自开源后收到了广泛的关注和讨论,后来dotCloud将公司都改名为Docker Inc. dotCloud公司原本的产品发展的并不如意,但是凭借Docker做的风生水起了,真是柳暗花明又一村。所以呀,很多朋友们都有自己的side Project,只要大家觉得自己的想法是有趣,有用的。坚持做下去,谁也不知道会不会是下个Docker。

Docker的技术特点

Docker的技术特点,相信大家都比较的了解了。相比较于传统的虚拟化技术,Virtual Machine包含了一套完整的OS,每个VM上都有自己的GUEST OS。而一个Docker Container并不包含一个OS,只包含这个App和其依赖,所以Docker Container更加的轻量快速。下边这张图大家一看就明白了。

《图表君聊Docker-开篇》
《图表君聊Docker-开篇》

Docker怎么安装呢

Docker是基于Linux的容器技术,所以天生在Linux上安装十分的简单。

curl -sSL https://get.docker.com/ | sh

对于Mac,喜大普奔的是Docker现在原生的支持Mac了。到Docker官网上,下载Docker的安装包,简单的几步next,Docker就安装好了。Docker for Mac

至于Windows,图表君没试过,官网有windows的教程,大家可以参考。

Docker到底解决了什么问题

一个新技术的出现,备受追捧,必定是解决了一些很多的问题。Docker这么红火到底是解决了什么问题呢?最直观的是,Docker让开发,测试,生产环境,彻底的统一了,统一了,统一了。

有没有小伙伴有这样的经历,线上出了一个问题,我们查了半天。what the fuck!我本地没问题啊,于是乎上测试环境,生产环境,吭哧吭哧查半天,当你开始怀疑人生的时候,然后发现是环境配置问题。内心一万个草泥马飞过。现在好了程序写好,做成镜像。想在那里部署运行都行。

另外目前什么样的软件架构最火,当然是微服务了啊。图表君的项目上都是采用微服务的构建,一个Project,7到8个Repo是很常见的。为了我们搭建开发环境,这些services都得启动起来。于是乎一个个的启动。太麻烦了。想当初图表君为了看一个CSS的修改效果,不得不启动3个service,我内心是奔溃的。(虽然是仅仅多run了几条命令而已,然而程序员都很懒的)现在好了一个docker compose up。所有的service都起好了,太方便了,太方便了。

目前,docker还大多运用在开发和测试环境上,但是Docker运用在生产环境上,只是时间的问题了。原来在为了run一个简单的job,我要启动一个instance,来处理出来。现在我只要简单的run一个docker container就OK了。节省了多少资源成本和时间。特别是对于图表君这种仅仅只有一台阿里云服务器来说,可以做更多的事情了。特别利用DaoCloud这样的云服务,代码的提交,测试,发布,部署,一下全搞定。生活简直太美好了。

好了,开篇就写这个多了。下篇文章开始进入正题。如果你还不知道什么是docker,应该更新下知识库了。上docker的官网,安装docker,然后跟着图表君一起学习吧。

原创文章,欢迎转发,但请标明出处。欢迎关注图表君的公众号,一起成长。在微信中搜索 “多彩数据” 或者 “Data_Visualization”

《图表君聊Docker-开篇》


推荐阅读
  • 本文详细介绍了SQL日志收缩的方法,包括截断日志和删除不需要的旧日志记录。通过备份日志和使用DBCC SHRINKFILE命令可以实现日志的收缩。同时,还介绍了截断日志的原理和注意事项,包括不能截断事务日志的活动部分和MinLSN的确定方法。通过本文的方法,可以有效减小逻辑日志的大小,提高数据库的性能。 ... [详细]
  • GetWindowLong函数
    今天在看一个代码里头写了GetWindowLong(hwnd,0),我当时就有点费解,靠,上网搜索函数原型说明,死活找不到第 ... [详细]
  • 本文介绍了OC学习笔记中的@property和@synthesize,包括属性的定义和合成的使用方法。通过示例代码详细讲解了@property和@synthesize的作用和用法。 ... [详细]
  • 本文介绍了在使用Python中的aiohttp模块模拟服务器时出现的连接失败问题,并提供了相应的解决方法。文章中详细说明了出错的代码以及相关的软件版本和环境信息,同时也提到了相关的警告信息和函数的替代方案。通过阅读本文,读者可以了解到如何解决Python连接服务器失败的问题,并对aiohttp模块有更深入的了解。 ... [详细]
  • 如何提高PHP编程技能及推荐高级教程
    本文介绍了如何提高PHP编程技能的方法,推荐了一些高级教程。学习任何一种编程语言都需要长期的坚持和不懈的努力,本文提醒读者要有足够的耐心和时间投入。通过实践操作学习,可以更好地理解和掌握PHP语言的特异性,特别是单引号和双引号的用法。同时,本文也指出了只走马观花看整体而不深入学习的学习方式无法真正掌握这门语言,建议读者要从整体来考虑局部,培养大局观。最后,本文提醒读者完成一个像模像样的网站需要付出更多的努力和实践。 ... [详细]
  • 篇首语:本文由编程笔记#小编为大家整理,主要介绍了软件测试知识点之数据库压力测试方法小结相关的知识,希望对你有一定的参考价值。 ... [详细]
  • 上图是InnoDB存储引擎的结构。1、缓冲池InnoDB存储引擎是基于磁盘存储的,并将其中的记录按照页的方式进行管理。因此可以看作是基于磁盘的数据库系统。在数据库系统中,由于CPU速度 ... [详细]
  • Netty源代码分析服务器端启动ServerBootstrap初始化
    本文主要分析了Netty源代码中服务器端启动的过程,包括ServerBootstrap的初始化和相关参数的设置。通过分析NioEventLoopGroup、NioServerSocketChannel、ChannelOption.SO_BACKLOG等关键组件和选项的作用,深入理解Netty服务器端的启动过程。同时,还介绍了LoggingHandler的作用和使用方法,帮助读者更好地理解Netty源代码。 ... [详细]
  • Iamtryingtocreateanarrayofstructinstanceslikethis:我试图创建一个这样的struct实例数组:letinstallers: ... [详细]
  • 搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的详细步骤
    本文详细介绍了搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的步骤,包括环境说明、相关软件下载的地址以及所需的插件下载地址。 ... [详细]
  • Echarts图表重复加载、axis重复多次请求问题解决记录
    文章目录1.需求描述2.问题描述正常状态:问题状态:3.解决方法1.需求描述使用Echats实现了一个中国地图:通过选择查询周期&#x ... [详细]
  • 这是原文链接:sendingformdata许多情况下,我们使用表单发送数据到服务器。服务器处理数据并返回响应给用户。这看起来很简单,但是 ... [详细]
  • 本文介绍了Web学习历程记录中关于Tomcat的基本概念和配置。首先解释了Web静态Web资源和动态Web资源的概念,以及C/S架构和B/S架构的区别。然后介绍了常见的Web服务器,包括Weblogic、WebSphere和Tomcat。接着详细讲解了Tomcat的虚拟主机、web应用和虚拟路径映射的概念和配置过程。最后简要介绍了http协议的作用。本文内容详实,适合初学者了解Tomcat的基础知识。 ... [详细]
  • 本文介绍了在MFC下利用C++和MFC的特性动态创建窗口的方法,包括继承现有的MFC类并加以改造、插入工具栏和状态栏对象的声明等。同时还提到了窗口销毁的处理方法。本文详细介绍了实现方法并给出了相关注意事项。 ... [详细]
  • 本文介绍了RxJava在Android开发中的广泛应用以及其在事件总线(Event Bus)实现中的使用方法。RxJava是一种基于观察者模式的异步java库,可以提高开发效率、降低维护成本。通过RxJava,开发者可以实现事件的异步处理和链式操作。对于已经具备RxJava基础的开发者来说,本文将详细介绍如何利用RxJava实现事件总线,并提供了使用建议。 ... [详细]
author-avatar
博瑞装饰王龙骏
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有