摘要:从2013年Docker的正式发布到如今的广泛应用,Docker的学习和使用变得尤其重要。来自Docker公司的技术专家姚义磊从Docker的网络、存储、安全等多个方面谈了他的看法以及一些学习和使用Docker的建议。

以下为精彩视频内容整理:

Docker介绍

“没有集装箱,就不会有全球化。”正如集装箱改变现实世界一样,Docker也正在改变IT世界。那Docker究竟有什么魔力能改变IT世界呢?下面从Docker的简介、发展历程、成绩和基本概念等方面了解一下Docker:

1、Docker的简介

Docker不仅仅是一个容器,它更是一个开源的技术平台,如今很多微服务都离不开Docker。Docker让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。如今Docker的生态已经非常的成熟和强大。

2、Docker的发展历程

Docker是站在巨人的肩膀上才有了今天的成功,2004年的时候在Solaris里面就开始有容器的概念了。2008年LXC(Linux Containers)发布了第一套完整的Linux容器管理实现方案。2013年的时候dotCloud公司内部创建了Docker项目,随后又将Docker开源,dotCloud公司也因Docker的发展而改名为Docker公司。2016年Docker公司发布了Docker Enterprise Edition(EE)和Docker Community Edition(CE)两个版本。

3、Docker取得的成绩

截止到目前,Docker已经变得非常流行,在整个GitHub上排名非常靠前。从2013年Docker的发布到如今,在全球有超过1400万主机安装了Docker,基于Docker所做的服务也超过了90万个,超过120亿的镜像被pull,而且使用Docker的场景还在不断地增加。作为一个开源项目,Docker的成功离不开Docker爱好者的帮助。

4、Docker的基本概念

1、image(镜像):主要用来构建container的只读模板。包含了container启动所需的所有信息,例如运行的程序和配置、数据等。

2、container(容器): 负责应用程序的运行,以及它们对应的运行环境。是根据images构建,会在顶层创建读写层。

3、Engine(引擎):Docker架构中的运行引擎,同时也是Docker运行的核心模块。它扮演Docker container存储仓库的角色,并且操纵管理容器。

4、repository(仓库):集中存放image的地方

5、Registry(注册服务器):管理repoistory的程序

当了解基本概念之后再去看如下进阶知识:Docker networking、Composing Services Using Compose、Docker Logging、Docker Debugging And Troubleshooting、Docker API、Docker Security等等。另外还有很多Docker的相关资料可以从以下网址获得:

1、Docker documentation:https://docs.docker.com

2、Docker training:https://training.docker.com

3、PWD training:http://training.play-with-docker.com/

4、Docker学习路线图:https://yq.aliyun.com/articles/40494

Docker进阶心得

随着Docker的应用场景越来越多,学习和使用Docker是非常有必要的,那如何才能学习和掌握Docker的使用呢?下面是我对学习和使用Docker的一些心得体会:

1、轻装上阵

对于初学者来说,从最简单的开始学起,例如pulling和pushing。pull一个项目到image,做些变更,打个tag,再push到Dockerhub,这样对初学者来说是非常有帮助的,因为Docker很多基本知识实际上是基于Linux的知识。

2、学习Docker网络

Docker网络是一切基础,大多数Docker操作实际上都跟网络有关的,例如跨主机容器间如何互相访问、如何设计高可用的容器服务、如何提高容器服务的宽带利用率和减小延时、服务如何快速扩容并减小对系统的影响。围绕这些问题不断学习Docker,你将对Docker有更深刻的理解。

3、学习Docker存储

Docker的存储很难也很重要,当你使用Docker的时候将会面临aufs、devicemapper 和 overlay2该如何选择、top writable layer具体是什么、镜像和容器区别在哪里、镜像Cope on write怎么弄、共享存储如何设计等一系列问题。围绕这些问题,从graph drivers、volumes和registry三个方面去学习Docker存储,你会取得一个更大的进阶。

4、学习Docker安全

很多人都认为容器跟虚拟机比起来不安全、Docker安全是个大问题。这其中有基于Linux系统的安全、Docker本身的安全和镜像的安全。其实只要在你做Docker设计的时候,从这些安全方面进行考虑,是可以使得Docker更安全的。Docker公司内部也有一些建议,例如对镜像进行签名、扫描,对外不要暴露太多的端口,主机不要暴露远程开放等,对客户端和服务端之间的通信进行加密等等。

从技术角度来说,当你掌握以上内容之后还是不够的,你会发现更大的话题,例如如何创建高效的镜像、监视整个系统、在CI/CD和serverless中利用Docker等等。有句话叫做:Learning is better when it's social。Docker本身是一个开源技术,因此对大家来说,如果想技术进阶,最好是加入这个社区,对社区进行贡献有以下四种方式:

1、加入例如Docker community的slack channel或者阿里云的云栖社区等一些其它论坛;

2、参加一些Docker活动。例如Dockercon活动,这个活动汇聚了世界上很多对Docker有着丰富经验的人,他们经常会在活动中发布自己的观点和做出自己的贡献。

3、参加本地的meet up。国内很多公司都会不定时的组织meet up, 如果有机会跟有经验的大年探讨问题,这也是一个非常好的机会。

4、关注Docker公司的公众号号:Docker公司。里面会经常发布一些最新的Docker信息动态。

在今年Docker公司也推出了一个Docker认证,具体可在Docker公司官网查看,通过这样的认证对技术的进阶也是一种很好的见证。

本文由云栖社区志愿者小组黄小凡整理,毛鹤审校。编辑:郭雪梅。

“码头工人”的Docker进阶之路:从轻装上路到网络、存储和安全相关推荐

  1. 运维工程师打怪升级进阶之路 V2.0

    很多读者伙伴们反应总结的很系统.很全面,无论是0基础初学者,还是有基础的入门者,或者是有经验的职场运维工程师们,都反馈此系列文章非常不错! 命名:<运维工程师打怪升级之路> 版本:V1.0 ...

  2. YOLO系列算法精讲:从yolov1至yolov5的进阶之路(2万字超全整理)

    写在前面:大家好!我是[AI 菌],算法工程师一枚,2021年博客之星Top12,公众号[AI 修炼之路]作者.专注于计算机视觉.深度学习.图像处理技术,热衷于分享AI.CV.DL.ML.OpenCV ...

  3. 今天,公司架构师跟我分享多年的私货 | 进阶之路必读书籍(附下载链接)

    HTML与CSS 初级 <Head First HTML与CSS(第2版)>豆瓣评分:9.3 入门经典,初始获得信息的好途径.帮助读者逐步构件小的知识点,再结合一本整体的类别逻辑型的书,就 ...

  4. 浅谈Android进阶之路

    原址 过去十年是移动互联网蓬勃发展的黄金期,相信每个人也都享受到了移动互联网红利,在此期间,移动互联网经历了曙光期.成长期.成熟期.现在来说已经进入饱和期.依然记得在 2010-2013 年期间,从事 ...

  5. 一个java高级工程师的进阶之路【转】

    一个java高级工程师的进阶之路[转] 宏观方面 一. JAVA.要想成为JAVA(高级)工程师肯定要学习JAVA.一般的程序员或许只需知道一些JAVA的语法结构就可以应付了.但要成为JAVA(高级) ...

  6. python处理pdf实例_Python实战-从菜鸟到大牛的进阶之路pdf_Python教程

    资源名称:Python实战-从菜鸟到大牛的进阶之路 pdf 第1章 Python 处理 cassandra 升级后的回滚脚本 第 2 章 多套方案来提高 python web 框架的并发处理能力 第 ...

  7. 机器人建模中移动关节如何建立坐标系_机器人工程师进阶之路(八)指数积(PoE)建立机械臂模型及正运动...

    梁政:机器人工程师进阶之路(六)旋量法(上)​zhuanlan.zhihu.com 梁政:机器人工程师进阶之路(七)旋量法(下)​zhuanlan.zhihu.com 从上两篇我们可以了解到,利用旋量 ...

  8. Scala进阶之路-正则表达式案例

    Scala进阶之路-正则表达式案例 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 废话不多说,正则大家都很清楚,那在Scala如何使用正则了?我们直接上个案例,如下: 1 /* 2 ...

  9. Python 进阶之路 (九) 再立Flag, 社区最全的itertools深度解析(上)

    前言 大家好,今天想和大家分享一下我的itertools学习体验及心得,itertools是一个Python的自带库,内含多种非常实用的方法,我简单学习了一下,发现可以大大提升工作效率,在sf社区内没 ...

  10. 工程师进阶之路(二)

    转载自 量子恒道官方博客  地址:http://blog.linezing.com 工程师进阶之路 二 谈谈沟通能力--沟通的准则 如果一名工程师要成长为资深专家或者是架构师或者是技术管理者,沟通是必 ...

最新文章

  1. Selenium3自动化测试——8.定位一组元素
  2. RocketMQ(三):基本原理和架构
  3. 小学计算机应用到英语课教案,信息技术与PEP小学英语三年级学科整合交流课例...
  4. Spring JdbcTemplate查询实例
  5. 【bzoj1044】[HAOI2008]木棍分割 二分+dp
  6. 好久不来这里写东西了.
  7. 【学习笔记】APP测试基本流程及测试要点
  8. 第十节 4基于ashx方式的ASP.Net开发
  9. vue 两个table 并排_从零到部署:用 Vue 和 Express 实现迷你全栈电商应用(六)
  10. POJ 1659 Frogs#39; Neighborhood(度序列组成)
  11. web平台安全测试方案
  12. 单片机原理及应用 张鑫_单片机原理及应用
  13. dedecms5.7(织梦)源码解析之程序安装补全篇
  14. Mysql中使用sql语句查询前一个天、前一周、前一月时间的方法
  15. iOS 如何先由子视图处理子手势后再交由父类
  16. C++ : 陶陶摘苹果
  17. 安卓微信浏览器无法支持input multiple的h5属性多图上传
  18. mssql查询分页存储过程SpPageOrder/proc_wuhan_getpages )
  19. 使用python抓取落网期刊图片
  20. 通州新城规划图 - 新通网http://www.xintongwang.com

热门文章

  1. Calendar根据输入的年份和周数计算该周的开始日期和结束日期
  2. 我在Facebook干不下去的10个理由
  3. 百度网盘目录搜索引擎
  4. 解决python osdir() 函数 文件夹排序问题
  5. 深度linux15.4安装教程,国产操作系统深度Deepin15.5安装过程体验!
  6. wrk 服务器性能HTTP压测工具
  7. 如何查找各个手机放序列号
  8. 【夜深人静写代码】倍增算法学习记录
  9. PhotoShop配置和常用技巧
  10. origin做主成分分析图_Origin如何进行主成分分析