Follow me on GitHub

读书 | 第一本 Docker 书

豆瓣:第一本 Docker 书

作为如今炙手可热的技术,过去几年 Docker 生态发展如火如荼,很惭愧,直到今天我才系统了解它。

事情的缘由是这样的,节前想搭个 Spark Streaming 平台玩下,看到 Hortonworks 提供了基于 Docker 的 沙盒,可以一键完成环境搭建,又想到数人云讲到的基于 Docker + k8s 的下一代微服务,实在无法说服自己避开 Docker 了,于是趁十一花了几天浏览了本书,算是简单入了个门。

本书最初于 2014 年出版,我看的这本是 2016 年基于 Docker 1.9 的修订版,两年过去了,Docker 最新版本已经到了 18.03,与书中差了近 10 个版本,所以我没跟着敲代码,只是把主要内容浏览了一下,有个大概的认识。

本书介绍了 Docker 使用的基本套路,即:

  • 创建镜像,基于镜像运行容器,在容器中完成工作;

其中容器既可以长期运行,也可以用完即删除,而且一些诸如数据库备份、日志收集等工作也是通过容器完成的(用完即删),大大颠覆了我之前的认识。

Docker 的核心在于镜像,第四章详细介绍了镜像的基本用法,之后第五章介绍 Docker 在测试、CI 等场景中的应用,其中顺便介绍了容器之间的通信,第六章介绍 Docker 在生产环境部署中的应用,其中涉及 Redis 集群的搭建,算是比较全的一个例子。

第七章基于 Docker Compose、Consul 和 Docker Swarm 讲容器编排和服务发现,不过目前容器编排领域的当红炸子鸡是 Kubernetes,所以这一章可能参考价值并不大。

书中最后介绍了 Docker API,毕竟 Docker 脚本无法适用所有场景,比如 OpenWhisk 这类框架应该就是基于 Docker API 构建的,当然对于普通 Docker 用户可能使用 API 的场景并不多。

这书虽然很老,但我认为是一本非常好的入门书,让我这门外汉在短短的两天内了解了 Docker 的基本用法,当然真正入门还需要实践。