很早听过docker,这两天要部署一个开源的看板应用wekan,用到了docker,所以想顺带深入学习一下docker。
首先是思考docker是什么
开源的应用容器引擎,快速理解它的概念可以用隐喻:“集中箱”,作为20世纪最重要的发明之一,对世界的影响是巨大的,参考集装箱改变世界 (豆瓣)。docker就是集装箱原理,可以实现虚拟机隔离应用环境的功能,开销比虚拟机小,能把开发环境之间封装成镜像,然后直接部署到生产环境,速度快且不容易出问题。如何通俗解释Docker是什么?
为什么要用docker,它解决了什么问题,好处是什么?
docker解决了应用隔离、移植、服务器资源充分利用及高效运维等问题,很多个应用不隔离直接装在服务器上不但容易出现资源冲突如端口冲突、内存资源抢占等问题也可能出现不可知的安全问题;如果在一台服务器上装多个虚拟机来部署不同应用,虽能避免问题,但又太耗资源,而Docker在应用隔离安全性与资源使用效率方面取得了较好的平衡。
docker改变了运维世界,这句话是从群体角度来说的,像mysql,python这样的使用群体众多的应用,以及会经常迁移,变动,重新部署的应用,docker化之后,整个群体所节省的时间,是非常巨大的。也就是说,docker并不能部署的工作「减少为0」,比较好的情况下是「基本减少为1」,因为无论如何都需要把应用及所在环境构建一遍,就像集装箱虽然减少了运输途中的搬运过程,但是把货物搬进集装箱这一次操作是难以避免的,但这可以成为「一次构建,到处交付」的基础。你第一次构建自己的镜像时,就像往集装箱里装东西是类似的,需要和直接在机器上部署差不多的工作量。这个时候,docker的效率提升是很小的。Docker 有什么优势? - 小狐濡尾的回答
如何学习docker
1、找好的书籍或博文系统学习一下
Docker为什么
archive.ghostcloud.cn 的页面
Docker专题_Docker技术入门与实战_Docker应用_Docker安全_Docker网络模型_Docker代码分析_Docker命令
http://www.infoq.com/cn/author/%E5%AD%99%E5%AE%8F%E4%BA%AE#
2、自己安装搭建环境,多动手尝试,只有自己用过才能更深入理解
看了docker好处后,迫不及待想尝试一下,因为平时工作用的都是windows环境,自然选择装windows版本,Docker | Docker,刚在这里下载后在自己win10上装了一下,安装很快,但装完提示要启动虚拟化服务,自动重启电脑,重启后电脑cpu、内存、硬盘占用率都很高,过一会儿docker安装初始化后恢复正常。win上原生支持docker要win10以上版本才行,如果是win7 64位以上系统,可安装docker toolbox,Docker Toolbox