作品简介

Docker是一个充满挑战性和趣味性的开源项目,它彻底释放了Linux虚拟化的威力,极大地缓解了云计算资源供应紧张的局面。与此同时,Docker也成倍地降低了云计算供应成本,让应用的部署、测试和开发变成了一件轻松、高效和有意思的事情。

《Docker全攻略》由浅入深,从基本原理入手,系统讲解了Docker的原理、构建与操作。同时讲解了Docker在实际生产环境中的使用,最后还探讨了Docker的底层实现技术和基于Docker的相关开源技术。前4章为基础内容,供用户理解Docker和配置Docker运行环境。第5章到第9章为Docker基本操作,主要讲解了Docker命令操作实例和Docker命令实现原理。第10到第12章为Docker高级操作,介绍了Docker内核相关知识点,适合高级用户参考其内核运行机制。第13章到第15章给出了Docker典型应用场景和实践案例。

《Docker全攻略》既适用于具备Linux基础知识的Docker初学者,也适用于具有开发功底想深入研究Docker内核的高级用户。《Docker全攻略》所提供的实践案例,可供在实际生产环境部署时借鉴。

张涛,毕业于河北工业大学,2013年7月至今,在TIBCO中国研发中心任软件架构师。在实践中应用Docker已有几年时间。

作品目录

  • 前言
  • 第一篇 Docker简介
  • 第1章 Docker的前世今生
  • 1.1 什么是LXC
  • 1.2 Docker为什么选择了AUFS
  • 1.3 Docker是如何产生的
  • 第2章 Docker现状
  • 2.1 Docker应用范围
  • 2.2 Docker的优缺点
  • 1.Docker资源利用率比传统虚拟机要高
  • 2.Docker支持跨节点部署
  • 3.版本可控,组件可复用
  • 4.共享镜像
  • 5.轻量,易维护
  • 1.宿主资源没有完成做到隔离
  • 2.Golang语言尚未成熟
  • 3.Docker虽已开源,但事实上被一家公司所控制
  • 第3章 Docker将如何改变未来
  • Docker将“云”由虚幻变得有些现实
  • 第二篇 Docker基础
  • 第4章 如何安装Docker
  • 4.1 安装Docker前需要知道的事
  • 1.Docker只能运行在Linux环境中
  • 2.Docker可以在Windows和Mac系统中使用
  • 3.选择一个主机操作系统很重要
  • 4.准备一个大硬盘
  • 5.读者应该具备一些Linux操作知识
  • 4.2 Linux平台安装Docker
  • 1.安装Docker
  • 2.更新Docker
  • 3.卸载Docker
  • 4.配置Docker
  • 4.3 MAC/OS平台安装Docker
  • 1.访问container网络端口
  • 2.向container挂载目录
  • 3.升级Boot2Docker
  • 4.卸载Boot2Docker
  • 4.4 Windows平台如何支持Docker
  • 4.5 在其他平台中安装Docker
  • 1.CentOS
  • 2.Debian
  • 3.Debian 7.7
  • 4.Fedora
  • 5.Red Hat
  • 第5章 Docker基本命令
  • 5.1 Docker操作命令
  • Daemon命令
  • 1.Daemon网络配置
  • 2.Daemon存储驱动配置
  • 3.Daemon执行驱动配置
  • 4.Daemon DNS配置
  • 5.Daemon其他配置
  • 5.2 Docker网络命令
  • 1.pull命令
  • 2.push命令
  • 3.Search命令
  • 5.3 Docker安全命令
  • 1.login命令
  • 2.logout命令
  • 5.4 Docker资源命令
  • 1.export命令
  • 2.images命令
  • 3.import命令
  • 4.load命令
  • 5.pause命令
  • 6.port命令
  • 7.rm命令
  • 8.save命令
  • 9.unpause命令
  • 10.wait命令
  • 5.5 Docker RestFul命令
  • 1.列出指定的容器
  • 2.创建容器
  • 3.获取指定容器信息
  • 4.列出指定容器中正在运行的进程信息
  • 5.获取指定容器运行日志
  • 6.获取指定容器文件系统变更信息
  • 7.导出指定容器
  • 8.获取指定容器资源使用情况
  • 9.调整指定容器的TTY
  • 10.启动指定容器
  • 11.停止指定容器
  • 12.重启指定容器
  • 13.杀死指定容器
  • 14.重命名指定容器
  • 15.暂停指定容器
  • 16.恢复指定容器工作
  • 17.挂载到指定容器
  • 18.通过WebSocket挂载到容器
  • 19.等待指定容器关闭
  • 20.移除指定容器
  • 21.从指定容器中拷贝文件/目录
  • 22.列出所有镜像信息
  • 23.根据Dockerfile创建Docker镜像
  • 24.创建镜像
  • 25.探查image信息
  • 26.获取镜像变更历史
  • 27.向registry上传镜像
  • 28.为镜像设置tag
  • 29.查找镜像
  • 30.验证认证信息
  • 31.显示系统信息
  • 32.显示Docker版本信息
  • 33.PING Docker Daemon
  • 34.基于容器创建镜像
  • 35.监控Docker事件
  • 36.Image Tar包文件格式
  • 37.打包指定镜像
  • 38.打包多个镜像
  • 39.加载tar包
  • 40.在容器中创建执行实例
  • 41.启动执行实例
  • 42.重置执行实例中的tty尺寸
  • 43.获取执行实例详细信息
  • 5.6 Docker组件命令
  • 1.安装Docker-compose
  • 2.卸载Docker-compose
  • 3.使用Docker-compose
  • 4.选择参数
  • 5.配置文件
  • 6.命令参数
  • 第6章 Docker命令剖析
  • 6.1 Docker操作命令
  • 1.attach命令
  • 2.build命令
  • 3.commit命令
  • 3.commit命令
  • 4.cp命令
  • 5.create命令
  • 6.diff命令
  • 7.events命令
  • 8.exec命令
  • 9.history命令
  • 10.info命令
  • 11.inspect命令
  • 12.Kill
  • 13.Logs命令
  • 14.ps命令
  • 15.Rename命令
  • 16.Run命令
  • 17.Rmi命令
  • 18.Start命令
  • 19.Stats命令
  • 20.Stop命令
  • 21.Restart命令
  • 22.Tag命令
  • 23.Top命令
  • 24.Version命令
  • 6.2 Docker网络命令
  • 1.Push命令
  • 2.Pull命令
  • 3.Search命令
  • 6.3 Docker安全命令
  • 1.Login命令
  • 2.Logout命令
  • 6.4 Docker资源命令
  • 1.Export命令
  • 2.Images命令
  • 3.Import命令
  • 4.Load命令
  • 5.Pause命令
  • 6.Port命令
  • 7.Rm命令
  • 8.Save命令
  • 9.Wait命令
  • 第7章 Dockerfile介绍
  • 7.1 Dockerfile有什么用
  • 7.2 如何编写Dockerfile
  • 1.FROM命令
  • 2.MAINTAINER命令
  • 3.RUN命令
  • 4.CMD命令
  • 5.LABEL命令
  • 6.EXPOSE命令
  • 7.ENV命令
  • 8.ADD命令
  • 9.COPY命令
  • 10.ENTRYPOINT命令
  • 11.VOLUME命令
  • 12.USER命令
  • 13.WORKDIR命令
  • 14.ONBUILD命令
  • 第8章 Dockerfile最佳实践
  • Dockerfile优化方案
  • 1.容器要尽可能的短小精悍
  • 2.多使用.Dockerignore文件
  • 3.不要安装非必需的软件包
  • 4.一个容器尽量只运行一种服务
  • 5.控制文件层数量
  • 6.对命令中的参数进行排序
  • 7.尽可能多地使用缓存中的数据
  • 第9章 Docker部署案例
  • 1.通过修改宿主环境的文件来影响容器
  • 2.将配置文件构建到镜像当中
  • 3.通过专用的配置容器来创建容器
  • 第三篇 Docker进阶
  • 第10章 Docker运行剖析
  • 10.1 Docker的生命周期
  • 1.OOM(内存溢出)
  • 2.进程意外退出
  • 10.2 Docker Daemon
  • 10.3 Docker CLI
  • 1.确保请求来自于可信任的人
  • 2.确保请求不包含恶意
  • 第11章 Docker内核讲解
  • 11.1 Docker背后的Namespace
  • 1.IPC Namespace
  • 2.PID Namespace
  • 3.UTS Namespace
  • 4.Network Namespace
  • 5.User Namespace
  • 6.Mount Namespace
  • 11.2 Docker的文件系统
  • 11.3 Docker的image管理
  • 第12章 Docker资源调度
  • 12.1 Docker如何管理资源
  • 12.2 Docker资源管理器
  • 1.Capability策略
  • 2.SELinux策略
  • 3.缩小用户权限策略
  • 4.使用信任镜像策略
  • 5.CGroups策略
  • 6.最小文件系统策略
  • 第四篇 Docker生态圈
  • 第13章 Docker的云生态环境
  • 13.1 Docker的开发语言
  • 13.2 支持Docker的开源组件
  • 1.Swarm
  • 2.Kubernetes
  • 3.Mesos
  • 13.3 CoreOS、Vagrant和Amazon如何支持Docker
  • 1.CoreOS
  • 2.Vagrant
  • 3.Amazon
  • 第五篇 Docker案例
  • 第14章 基于Amazon的Docker部署案例
  • 第15章 基于CoreOS的Docker部署案例
展开全部