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

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

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

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

 

Docker介绍

5bb7bd789f7a482c73dfc1d4c6e1745b2fd5ce06

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

1、Docker的简介

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

2、Docker的发展历程

6b4bfd539407ed21d187a3a16c4ed7f557396a3b

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安全

8e051d58a622e303207262f2956875c276b7411d

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

ddc8d1be607f368184247b584e9a87bc376e52ff

从技术角度来说,当你掌握以上内容之后还是不够的,你会发现更大的话题,例如如何创建高效的镜像、监视整个系统、在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公司官网查看,通过这样的认证对技术的进阶也是一种很好的见证。


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

目录
相关文章
|
11天前
|
存储 网络协议 安全
软件管理,磁盘存储,文件系统以及网络协议
【11月更文挑战第9天】本文介绍了软件管理、磁盘存储和网络协议等内容。软件管理包括软件生命周期管理和软件包管理,涉及需求分析、设计、实现、测试、发布、维护等阶段,以及软件包的安装、升级和依赖关系处理。磁盘存储部分讲解了磁盘的物理结构、分区与格式化、存储管理技术(如 RAID 和存储虚拟化)。网络协议部分涵盖了分层模型、重要协议(如 HTTP、TCP、IP)及其应用与安全。
|
14天前
|
监控 安全 网络安全
企业网络安全:构建高效的信息安全管理体系
企业网络安全:构建高效的信息安全管理体系
45 5
|
22天前
|
编解码 安全 Linux
网络空间安全之一个WH的超前沿全栈技术深入学习之路(10-2):保姆级别教会你如何搭建白帽黑客渗透测试系统环境Kali——Liinux-Debian:就怕你学成黑客啦!)作者——LJS
保姆级别教会你如何搭建白帽黑客渗透测试系统环境Kali以及常见的报错及对应解决方案、常用Kali功能简便化以及详解如何具体实现
|
22天前
|
网络协议 安全 NoSQL
网络空间安全之一个WH的超前沿全栈技术深入学习之路(8-2):scapy 定制 ARP 协议 、使用 nmap 进行僵尸扫描-实战演练、就怕你学成黑客啦!
scapy 定制 ARP 协议 、使用 nmap 进行僵尸扫描-实战演练等具体操作详解步骤;精典图示举例说明、注意点及常见报错问题所对应的解决方法IKUN和I原们你这要是学不会我直接退出江湖;好吧!!!
网络空间安全之一个WH的超前沿全栈技术深入学习之路(8-2):scapy 定制 ARP 协议 、使用 nmap 进行僵尸扫描-实战演练、就怕你学成黑客啦!
|
12天前
|
Docker 容器
【赵渝强老师】Docker的None网络模式
Docker容器在网络方面实现了逻辑隔离,提供了四种网络模式:bridge、container、host和none。其中,none模式下容器具有独立的网络命名空间,但不包含任何网络配置,仅能通过Local Loopback网卡(localhost或127.0.0.1)进行通信。适用于不希望容器接收任何网络流量或运行无需网络连接的特殊服务。
|
12天前
|
Docker 容器
【赵渝强老师】Docker的Host网络模式
Docker容器在网络环境中是隔离的,可通过配置不同网络模式(如bridge、container、host和none)实现容器间或与宿主机的网络通信。其中,host模式使容器与宿主机共享同一网络命名空间,提高性能但牺牲了网络隔离性。
|
12天前
|
Kubernetes Docker 容器
【赵渝强老师】Docker的Container网络模式
Docker容器在网络环境中彼此隔离,但可通过配置不同网络模式实现容器间通信。其中,container模式使容器共享同一网络命名空间,通过localhost或127.0.0.1互相访问,提高传输效率。本文介绍了container模式的特点及具体示例。
|
12天前
|
Linux Docker 容器
【赵渝强老师】Docker的Bridge网络模式
本文介绍了Docker容器的网络隔离机制及其四种网络模式:bridge、container、host和none。重点讲解了默认的bridge模式,通过示例演示了如何创建自定义bridge网络并配置容器的网络信息。文中还附有相关图片和视频讲解,帮助读者更好地理解Docker网络的配置和使用方法。
|
15天前
|
云安全 安全 网络安全
云计算与网络安全:技术融合下的安全挑战与应对策略
【10月更文挑战第33天】在数字化转型的浪潮中,云计算作为支撑现代企业IT架构的核心,其安全性成为业界关注的焦点。本文从云计算服务的基本概念出发,探讨了云环境下的网络安全风险,并分析了信息安全的关键技术领域。通过对比传统网络环境与云端的差异,指出了云计算特有的安全挑战。文章进一步提出了一系列应对策略,旨在帮助企业和组织构建更为坚固的云安全防护体系。最后,通过一个简化的代码示例,演示了如何在云计算环境中实施基本的安全措施。

热门文章

最新文章