热门标签 | 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-开篇》


推荐阅读
  • DockerDataCenter系列(四)-离线安装UCP和DTR,Go语言社区,Golang程序员人脉社 ... [详细]
  • 在Kubernetes上部署JupyterHub的步骤和实验依赖
    本文介绍了在Kubernetes上部署JupyterHub的步骤和实验所需的依赖,包括安装Docker和K8s,使用kubeadm进行安装,以及更新下载的镜像等。 ... [详细]
  • 在Docker中,将主机目录挂载到容器中作为volume使用时,常常会遇到文件权限问题。这是因为容器内外的UID不同所导致的。本文介绍了解决这个问题的方法,包括使用gosu和suexec工具以及在Dockerfile中配置volume的权限。通过这些方法,可以避免在使用Docker时出现无写权限的情况。 ... [详细]
  • 现在比较流行使用静态网站生成器来搭建网站,博客产品着陆页微信转发页面等。但每次都需要对服务器进行配置,也是一个重复但繁琐的工作。使用DockerWeb,只需5分钟就能搭建一个基于D ... [详细]
  • 有意向可以发简历到邮箱内推.简历直达组内Leader.能做同事的话,内推奖励全给你. ... [详细]
  • docker安装到基本使用
    记录docker概念,安装及入门日常使用Docker安装查看官方文档,在"Debian上安装Docker",其他平台在"这里查 ... [详细]
  • 云原生边缘计算之KubeEdge简介及功能特点
    本文介绍了云原生边缘计算中的KubeEdge系统,该系统是一个开源系统,用于将容器化应用程序编排功能扩展到Edge的主机。它基于Kubernetes构建,并为网络应用程序提供基础架构支持。同时,KubeEdge具有离线模式、基于Kubernetes的节点、群集、应用程序和设备管理、资源优化等特点。此外,KubeEdge还支持跨平台工作,在私有、公共和混合云中都可以运行。同时,KubeEdge还提供数据管理和数据分析管道引擎的支持。最后,本文还介绍了KubeEdge系统生成证书的方法。 ... [详细]
  • CSS3选择器的使用方法详解,提高Web开发效率和精准度
    本文详细介绍了CSS3新增的选择器方法,包括属性选择器的使用。通过CSS3选择器,可以提高Web开发的效率和精准度,使得查找元素更加方便和快捷。同时,本文还对属性选择器的各种用法进行了详细解释,并给出了相应的代码示例。通过学习本文,读者可以更好地掌握CSS3选择器的使用方法,提升自己的Web开发能力。 ... [详细]
  • 本文主要解析了Open judge C16H问题中涉及到的Magical Balls的快速幂和逆元算法,并给出了问题的解析和解决方法。详细介绍了问题的背景和规则,并给出了相应的算法解析和实现步骤。通过本文的解析,读者可以更好地理解和解决Open judge C16H问题中的Magical Balls部分。 ... [详细]
  • MACElasticsearch安装步骤及验证方法
    本文介绍了MACElasticsearch的安装步骤,包括下载ZIP文件、解压到安装目录、启动服务,并提供了验证启动是否成功的方法。同时,还介绍了安装elasticsearch-head插件的方法,以便于进行查询操作。 ... [详细]
  • ZSI.generate.Wsdl2PythonError: unsupported local simpleType restriction ... [详细]
  • Linux如何安装Mongodb的详细步骤和注意事项
    本文介绍了Linux如何安装Mongodb的详细步骤和注意事项,同时介绍了Mongodb的特点和优势。Mongodb是一个开源的数据库,适用于各种规模的企业和各类应用程序。它具有灵活的数据模式和高性能的数据读写操作,能够提高企业的敏捷性和可扩展性。文章还提供了Mongodb的下载安装包地址。 ... [详细]
  • 微信官方授权及获取OpenId的方法,服务器通过SpringBoot实现
    主要步骤:前端获取到code(wx.login),传入服务器服务器通过参数AppID和AppSecret访问官方接口,获取到OpenId ... [详细]
  • 本文介绍了5个基本Linux命令行工具的现代化替代品,包括du、top和ncdu。这些替代品在功能上进行了改进,提高了可用性,并且适用于现代化系统。其中,ncdu是du的替代品,它提供了与du类似的结果,但在一个基于curses的交互式界面中,重点关注占用磁盘空间较多的目录。 ... [详细]
  • 本文由编程笔记#小编为大家整理,主要介绍了markdown[软件代理设置]相关的知识,希望对你有一定的参考价值。 ... [详细]
author-avatar
博瑞装饰王龙骏
这个家伙很懒,什么也没留下!