“码头工人”的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天前
|
NoSQL 关系型数据库 MySQL
《docker高级篇(大厂进阶):4.Docker网络》包括:是什么、常用基本命令、能干嘛、网络模式、docker平台架构图解
《docker高级篇(大厂进阶):4.Docker网络》包括:是什么、常用基本命令、能干嘛、网络模式、docker平台架构图解
114 56
《docker高级篇(大厂进阶):4.Docker网络》包括:是什么、常用基本命令、能干嘛、网络模式、docker平台架构图解
|
19天前
|
云安全 人工智能 安全
|
23天前
|
安全 Docker 容器
docker的默认网络模式有哪些
Docker 默认网络模式包括:1) bridge:默认模式,各容器分配独立IP,可通过名称或IP通信;2) host:容器与宿主机共享网络命名空间,性能最优但有安全风险;3) none:容器隔离无网络配置,适用于仅需本地通信的场景。
35 6
|
25天前
|
存储 安全 网络安全
云计算与网络安全:探索云服务的安全挑战与策略
在数字化的浪潮下,云计算成为企业转型的重要推手。然而,随着云服务的普及,网络安全问题也日益凸显。本文将深入探讨云计算环境下的安全挑战,并提出相应的防护策略,旨在为企业构建安全的云环境提供指导。
|
27天前
|
存储 缓存 监控
Docker容器性能调优的关键技巧,涵盖CPU、内存、网络及磁盘I/O的优化策略,结合实战案例,旨在帮助读者有效提升Docker容器的性能与稳定性。
本文介绍了Docker容器性能调优的关键技巧,涵盖CPU、内存、网络及磁盘I/O的优化策略,结合实战案例,旨在帮助读者有效提升Docker容器的性能与稳定性。
67 7
|
1月前
|
安全 搜索推荐 网络安全
HTTPS协议是**一种通过计算机网络进行安全通信的传输协议
HTTPS协议是**一种通过计算机网络进行安全通信的传输协议
64 11
|
1月前
|
存储 安全 网络安全
云计算与网络安全:技术融合与安全挑战
随着云计算技术的飞速发展,其在各行各业的应用日益广泛。然而,随之而来的网络安全问题也日益凸显,成为制约云计算发展的重要因素。本文将从云服务、网络安全、信息安全等方面探讨云计算与网络安全的关系,分析云计算环境下的网络安全挑战,并提出相应的解决方案。
|
1月前
|
SQL 安全 算法
数字时代的守护者:网络安全与信息安全的现代策略
在数字化浪潮中,网络安全与信息安全如同航船上不可或缺的罗盘和舵。本文将探讨网络安全漏洞的成因、加密技术的重要性以及安全意识的培养,旨在为读者提供一套完整的网络自我保护指南。从基础概念到实用策略,我们将一起航行在安全的海洋上,确保每一位船员都能抵达信息保护的彼岸。
|
1月前
|
安全 网络安全 数据安全/隐私保护
利用Docker的网络安全功能来保护容器化应用
通过综合运用这些 Docker 网络安全功能和策略,可以有效地保护容器化应用,降低安全风险,确保应用在安全的环境中运行。同时,随着安全威胁的不断变化,还需要持续关注和研究新的网络安全技术和方法,不断完善和强化网络安全保护措施,以适应日益复杂的安全挑战。
44 5
|
11天前
|
SQL 安全 网络安全
网络安全与信息安全:知识分享####
【10月更文挑战第21天】 随着数字化时代的快速发展,网络安全和信息安全已成为个人和企业不可忽视的关键问题。本文将探讨网络安全漏洞、加密技术以及安全意识的重要性,并提供一些实用的建议,帮助读者提高自身的网络安全防护能力。 ####
51 17

热门文章

最新文章