安基网 首页 IT技术 网络管理 查看内容

学习Docker的几个建议和技巧

2018-8-22 02:14| 投稿: xiaotiger |来自: 互联网


免责声明:本站系公益性非盈利IT技术普及网,本文由投稿者转载自互联网的公开文章,文末均已注明出处,其内容和图片版权归原网站或作者所有,文中所述不代表本站观点,若有无意侵权或转载不当之处请从网站右下角联系我们处理,谢谢合作!

摘要: 在之前的文章和问答中,我也说过学习技术的一般方法,学习技术不光是要指出关于什么,而是教会如何去做,不仅仅是关于你应该具备哪些技术技能,跟重要的是你应该如何学习它们。本文中,虫虫和大家一起讨论下下如何学 ...

在之前的文章和问答中,我也说过学习技术的一般方法,学习技术不光是要指出关于什么,而是教会如何去做,不仅仅是关于你应该具备哪些技术技能,跟重要的是你应该如何学习它们。本文中,虫虫和大家一起讨论下下如何学习Docker以及学习Docker学习中应该注重那些问题。

你知道什么是虚拟化吗?

最近几年入坑的很多开发人员和运维工程师应该都听说过虚拟化,虚拟化和云都是宠儿和新的流行词,但是关于虚拟化的实质和实际内容可能真正了解的人也不多。

虚拟化和分布式云计算是一项革命性技术,在目前乃至未来很长一段时间内都会是热点和趋势。懂得虚拟化,也能让技术人员更容易入职,更容易拿到高工资。

了解虚拟化和容器化之间的区别,如何用容器解决虚拟化问题,是一个是开始Docker之旅的最好问题,而不是怎么在"windows安装docker?","我不懂Linux,我怎么学习docker?",这样的问题。

从简单命令行开始

这是对任何人学习docker技术的最佳路径。无论你是学习Docker还是其他任何技术或技能(比如git等也类似)。

学习CLI很重要。 Docker有很多很好的GUI,但是如果你想掌握一项技术,最好的方法是使用它的基本命令,从这儿了解实质,原理和进行问题排查。

从简单的命令开始,这是这些工具(协议)的实质,也能更能帮助你了解原理和本质,更容易排查问题。

学习Docker请先忘记Kubernetes,Docker Swarm,还有像Docker Compose这样的工具。换句话说,第一步请先简单化、先学会走了,了解本质,然后其他UI工具、其他界面基本都是对这些的打包(了解本质了,你也可以自己写这样的工具,或者调用他们API二次开发)。

首先Pull和Push像hello world镜像这样的简单容器。并在此基础上对其做些一些更改并提交更改,标记它然后push。

如果你的学习方法是从部署和配置和使用K8s集群开始的,那么你就需要怎么解决头大的问题了!

Docker网络

容器和编排系统中最容易迷惑的部分可能是网络。 Docker使用与主机操作系统固有的相同网络基础结构。你可以在localhost上运行Docker容器,而无需关心SDN等问题。

你可以进一步了解如何创建Docker集群并使用编排系统,这需要先学习一些网络知识。

Docker可以使用其默认网络

· 非网络模式

· 主机网络模式

· 桥接模式

· docker_gwbridge 网络

它还可以使用第三方软件定义和支持多主机网络,如:

· 桥接网络

· docker_gwbridge网络

· Overlay 网络

· Flannel

· Weave

· Open vSwitch

· Calico 网络

· Pipework

· OpenVPN

等等

了解容器网络可能需要一些时间,但这是很值得花费时间的。

文件系统

Docker支持许多文件系统,并且每个文件系统都有其优缺点。那么我们为什么要在devicemapper或overlay2选择aufs呢?

什么是顶层可写层?镜像和容器的区别是什么?

你知道什么是CoW策略吗?

与Docker网络一样,了解如何在Docker镜像和容器中存储和管理数据是非常重要的基础,需要首先了解和熟悉的概念。

Docker,Compose和Machine

Docker生态系统非常庞大,而且每天还都在不断更新,壮大。学习Docker Compose和Docker Machine将减轻你的负担,并给你提供更多使用Docker和优化交付和部署pipelines的能力。

首先学习Docker基础知识,然后转到Docker Compose和Docker Machine。

容器编排

掌握基本的Docker概念和工具后,我们开始关注业务流程。

没有编排的Docker不是可扩展的解决方案,而且这样的Dockery也没有存在的意义。容器编排将允许你从事务(容器)转移到抽象(服务)。它允许你简化和优化部署。

如果你刚入步,你可以使用Docker Swarm,然后转移到更复杂的系统,如K8S

尝试着基于Docker做开发

尝试用Docker API开发东西。

使用Docker对并行计算集群进行原型设计

使用Docker对无服务系统进行原型设计

了解如何使用Docker API,编写orchestrator原型或自我修复系统。

要不耻下问

我知道初学者可能会有一些问题,可能会问一些很出格的问题,很多东西在询问之前其实可以通过搜索引擎(百度、谷歌)下都可以直接解决。通过搜索引擎解决自己的大部分问题,其他可以通过在线论坛,stackoverflow,QQ群等询问。

如果你在没有任何帮助的情况下找到答案更好,这比在论坛、QQ群中提出你遇到没人解答过第一个问题很有帮助,但如果你需要,请不要羞于询问。

Tag标签:

小编推荐:欲学习电脑技术、系统维护、网络管理、编程开发和安全攻防等高端IT技术,请 点击这里 注册账号,公开课频道价值万元IT培训教程免费学,让您少走弯路、事半功倍,好工作升职加薪!

本文出自:https://www.toutiao.com/a6591750004606501383/

免责声明:本站系公益性非盈利IT技术普及网,本文由投稿者转载自互联网的公开文章,文末均已注明出处,其内容和图片版权归原网站或作者所有,文中所述不代表本站观点,若有无意侵权或转载不当之处请从网站右下角联系我们处理,谢谢合作!


鲜花

握手

雷人

路过

鸡蛋

相关阅读

最新评论

最新

返回顶部