第一本Docker书(修订版) - 詹姆斯·特恩布尔 (James Turnbull)

第一本Docker书(修订版)

詹姆斯·特恩布尔 (James Turnbull)

出版时间

2016-03-31

ISBN

9787115419330

评分

★★★★★

标签

编程

书籍介绍

Docker是一个开源的应用容器引擎,开发者可以利用Docker打包自己的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化。

本书由Docker公司前服务与支持副总裁James Turnbull编写,是Docker开发指南。本书专注于Docker 1.9及以上版本,指导读者完成Docker的安装、部署、管理和扩展,带领读者经历从测试到生产的整个开发生命周期,让读者了解Docker适用于什么场景。书中先介绍Docker及其组件的基础知识,然后介绍用Docker构建容器和服务来完成各种任务:利用Docker为新项目建立测试环境,演示如何使用持续集成的工作流集成Docker,如何构建应用程序服务和平台,如何使用Docker的API,如何扩展Docker。

AI导读
核心看点
  • Docker公司前高管撰写,全球首本Docker著作
  • 涵盖安装部署、镜像构建及API使用全流程
  • 从测试到生产,详解容器化开发生命周期
适合谁读
  • Docker技术零基础入门的新手开发者
  • 希望快速掌握容器化部署的运维人员
  • 需要构建轻量级应用环境的后端工程师
读前提醒
  • 本书基于Docker 1.9版本,部分命令已废弃
  • 建议结合官方最新文档或新版书籍对照阅读
  • 重点理解镜像分层原理及Dockerfile指令
读者共识
  • 概念讲解清晰,是公认的Docker入门好书
  • 内容略显陈旧,部分代码实例无法直接运行
  • 适合建立知识框架,进阶需参考更新资料

本导读基于书籍简介、目录、原文摘录、短评和书评生成,不等同于全文精读。

精彩摘录
  • "由于“客居”于操作系统,容器只能运行于与底层宿主机相同或相似的操作系统……"
  • "和传统的虚拟化以及半虚拟化(paravirtualization)技术相比,容器运行不需要模拟层(emulation layer)和管理层(hypervisor layer),而是使用操作系统的系统调用接口。这降低了运行单个容器需要的开销,使得宿主机中可以运行更多的窗口。"
  • "Docker 是一个能够把开发的应用程序自动部署到容器的开源引擎。"
  • "Docker开始"
  • "如果目标地址以/结尾,那么 Docker 就认为源位置指向的是一个目录。如果目的地址以/结尾,那么 Docker 就认为源位置指向的是目录。如果目的地址不是以/结尾,那么 Docker 就认为源位置指向的是文件。"
  • "FROM ubuntu:14.04 MAINTAINER James Turnbull "james@example.com" ENV REFRESHED_AT 2014-06-01 RUN apt-get -yqq update && apt-get -yqq install ruby ruby-dev build-essential redis-tools RUN gem install --no-rdoc --no-ri sinatra json redis RUN mkdir -p /opt/webapp EXPOSE 4567 CMD ["/opt/webapp/bin/webapp"
  • "FROM ubuntu:14.04 MAINTAINER James Turnbull <james@example.com> ENV REFRESHED_AT 2014-06-01 RUN apt-get -yqq update RUN apt-get -yqq install ruby ruby-dev make nodejs RUN gem install --no-rdoc --no-ri jekyll -v 2.5.3 VOLUME /data VOLUME /var/www/html WORKDIR /data ENTRYPOINT [ "jekyll", "build", "--"
  • "FROM jamtur01/redis MAINTAINER James Turnbull ENV REFRESHED_AT 2014-06-01 ENTRYPOINT [ "redis-server", "--logfile /var/log/redis/redis-server.log" ]"
作者简介
作者简介 James是一位技术作家,还是一名开源极客。他的大作是一本讲述流行开源日志工具的书——The LogStash Book。James还写了两本关于Puppet的书,一本是Pro Puppet,另一本是较早的Pulling Strings with Puppet: Configuration Management Made Easy。此外,James还写了Pro Linux System Administration、Pro Nagios 2.0和Hardening Linux这三本书。 James是Kickstarter公司的CTO。之前,James曾担任Docker公司服务与支持副总裁、Venmo公司工程副总裁和Puppet Labs的技术运维副总裁。 译者简介 李兆海,网名Googol Lee。使用Googol这个名字真的是因为“10的100次方”这个意思,和后来的Google公司没有一点儿关系。多年后端程序员,早期以C、C++为主,后来转向Python,现在以Go为生。曾写过《Golang初探》发表于2011年2月号《程序员》。Docker早期使用者。平时喜欢乱翻书,遇到感兴趣的都会研究一番。Twitter账户@googollee。 刘斌,具有10余年软件开发经验,关注后台开发技术和各种编程语言。做过电子商务、金融、企业系统以及Android手机开发;写过Delphi,也兼做系统管理员和DBA(现在都改叫DevOps了);既做后台应用,也要调用前台CSS和JavaScript,可还是不敢自称“全栈”(Full Stack);今又舶来“增长黑客”(Growth Hacker),我想我要做一个“增长工程师”(Growth Engineer)。个人主页 http://liubin.org。 巨震,北京大学软件工程硕士,服务器端开发者。目前就职于创业公司,使用Node.js、Golang进行服务器端开发。2013年年底开始研究Docker,是Docker中文社区的活跃贡献者,负责Docker技术文章和视频的翻译、校对工作。生活中喜欢美食、骑行,热衷于PC硬件,喜爱折腾,热爱一切计算机相关的技术,坚信技术改变世界。崇拜的技术传奇人物是前id Software首席程序员、现Oculus VR首席技术官John Carmack。
目录
第1章 简介 1
1.1 Docker简介 2
1.1.1 提供一个简单、轻量的建模方式 2
1.1.2 职责的逻辑分离 3
1.1.3 快速、高效的开发生命周期 3

显示全部
用户评论
入门。学这个网得好,要不一堆东西等半天。。
一本Docker入门非常棒的书 书的前半部分(直到第4章)基本上可以算一个案头手册, 很多概念与使用方法的讲解, 内容细致清晰, 即使因为深度照顾不到的地方也都给出了链接, 以备读者去拓宽视野. 第5、6、7章是有一定难度的: Docker的实践技巧、容器的编排部署, 看上去豁然开朗, 但实践起来也确实颇感费力, 可以拓宽自己对Docker能力的认知. 另附几篇左耳朵耗子的讲述Docker实现的文章: "Docker基础技术: Linux Namespace(上/下)、Linux CGroup、AUFS、DeviceMapper", 深入到Linux API层面分析Docker实现, 对于理解Docker原理还是有帮助的, 不过如果能有文章深入到操作系统层面探讨容器的实现原理就更好了~~
https://www.dockerbook.com/
内容还可以,只是这翻译真是服了。感受一下: NOTE As with the CMD instruction above, you can see that we’ve specified the ENTRYPOINT command in an array to avoid any issues with the command being prepended with /bin/sh -c. 注意从上面看到的CMD指令可以看到,我们通过以数组的方式指定ENTRYPOINT在想运行的命令前加入/bin/shc来避免各种问题。
入门不错,部分内容需要修订了
待更新版本
感觉是给运维看的,怎么构建管理容器
入门级案例
入门好书,跟着做一遍实验,学习起来很轻松
docker swarm/ mesos 已经成为时代的眼泪了
下载
收藏