当前位置:主页 > 计算机电子书 > 程序设计 > Docker容器下载
Docker实践

Docker实践 PDF 全格式版

  • 更新:2023-07-20
  • 大小:10.1 MB
  • 类别:Docker容器
  • 作者:伊恩·米尔
  • 出版:人民邮电出版社
  • 格式:PDF

  • 资源介绍
  • 学习心得
  • 相关内容

《Docker实践》是一本非常实用的指南,涵盖了101个关于Docker容器的技巧。无论是初学者还是有经验的开发者都可以从中获得大量关于Docker的知识。本书采用问题解决的方式,按照手册风格的“问题/解决方案/讨论”模式进行编写。针对一些重要的问题,例如服务器管理和配置、微服务的部署以及创建安全的实验环境等,本书提供了及时而实用的解决方案。无论你是想快速入门,还是想在日常工作中更加熟练地应用Docker,这本书都会是你的首选。

Docker实践

Docker实践电子书封面

读者评价

内容不错,书也是最近才出的,内容讲得很实用,适合了解docker的读者,初次接触的话第一本docker书也不错。

实战类的书我都会收藏一本,这个系列都不错,留着用得着的时候看,平时有时间也可以拓展知识

书本内容详实,学习docker必备书籍

内容介绍

《Docker实践》由浅入深地讲解了Docker的相关内容,涵盖从开发环境到DevOps流水线,再一路到生产环境的整个落地过程以及相关的实用技巧。书中介绍Docker的核心概念和架构,以及将Docker和开发环境有机、高效地结合起来的方法,包括用作轻量级的虚拟机以及构建和宿主机编排、配置管理、精简镜像等。不仅如此,本书还通过“问题/解决方案/讨论”的形式,将“Docker如何融入DevOps流水线”“如何在生产环境落地”等一系列难题拆解成101个相关的实用技巧,为读者提供解决方案以及一些细节和技巧方面的实践经验。阅读本书,读者将学到的不只是Docker,还包括持续集成、持续交付、构建和镜像管理、容器编排等相关领域的一线生产经验。本书编写时一些案例参考的Docker版本是Docker 1.9。 《Docker实践》要求读者具备一定的容器管理和运维的基础知识,适合想要将Docker投入实践的相关技术人员阅读,尤其适合具有中 高 级DevOps和运维背景的读者阅读。

目录

  • 第一部分Docker基础
  • 第1章Docker初探3
  • 第2章理解Docker——深入引擎室18
  • 技巧1向世界开放Docker守护进程20
  • 技巧2以守护进程方式运行容器22
  • 技巧3将Docker移动到不同分区24
  • 技巧4使用socat监控DockerAPI流量25
  • 技巧5使用端口连接容器28
  • 技巧6链接容器实现端口隔离29
  • 技巧7在浏览器中使用Docker31
  • 技巧8建立一个本地Docker注册中心34
  • 技巧9查找并运行一个Docker镜像35
  • 第二部分Docker与开发
  • 第3章将Docker用作轻量级虚拟机41
  • 技巧10将虚拟机转换为容器42
  • 技巧11类宿主机容器44
  • 技巧12将一个系统拆成微服务容器46
  • 技巧13管理容器内服务的启动50
  • 技巧14在开发中“保存游戏”的方式52
  • 技巧15给Docker打标签54
  • 技巧16在DockerHub上分享镜像56
  • 技巧17在构建时指向特定的镜像58
  • 技巧18在开发中“保存游戏”的方式59
  • 第4章Docker日常62
  • 技巧19Docker卷——持久化的问题63
  • 技巧20通过BitTorrentSync的分布式卷64
  • 技巧21保留容器的bash历史66
  • 技巧22数据容器68
  • 技巧23使用SSHFS挂载远程卷70
  • 技巧24通过NFS共享数据72
  • 技巧25开发工具容器75
  • 技巧26在Docker里运行GUI76
  • 技巧27检查容器78
  • 技巧28干净地杀掉容器80
  • 技巧29使用DockerMachine来置备Docker宿主机81
  • 技巧30使用ADD将文件注入到镜像85
  • 技巧31重新构建时不使用缓存87
  • 技巧32拆分缓存89
  • 技巧33运行Docker时不加sudo90
  • 技巧34清理容器91
  • 技巧35清理卷92
  • 技巧36解绑容器的同时不停掉它94
  • 技巧37使用DockerUI来管理Docker守护进程95
  • 技巧38为Docker镜像生成一个依赖图96
  • 技巧39直接操作——对容器执行命令97
  • 第5章配置管理——让一切井然有序100
  • 技巧40使用ENTRYPOINT创建可靠的定制工具101
  • 技巧41在构建中指定版本来避免软件包的漂移102
  • 技巧42用perl-p-i-e替换文本104
  • 技巧43镜像的扁平化105
  • 技巧44用alien管理外来软件包107
  • 技巧45把镜像逆向工程得到Dockerfile109
  • 技巧46传统方式:搭配make和Docker112
  • 技巧47借助ChefSolo构建镜像114
  • 技巧48从源到镜像的构建118
  • 技巧49保持构建镜像更小的Dockerfile技巧123
  • 技巧50让镜像变得更小的技巧126
  • 技巧51通过BusyBox和Alpine来精简Docker镜像128
  • 技巧52Go模型的小容器129
  • 技巧53使用inotifywait给容器瘦身132
  • 技巧54大也可以美134
  • 第三部分Docker与DevOps
  • 第6章持续集成:加快开发流水线139
  • 技巧55使用DockerHub工作流140
  • 技巧56使用eatmydata为I/O密集型构建提速143
  • 技巧57设置一个软件包缓存用于加快构建速度145
  • 技巧58在Docker内部运行Selenium测试147
  • 技巧59包含一个复杂的开发环境151
  • 技巧60在一个Docker容器里运行Jenkins主服务器156
  • 技巧61使用Jenkins的Swarm插件扩展CI158
  • 第7章持续交付:与Docker原则完美契合162
  • 技巧62Docker契约——减少摩擦163
  • 技巧63手动同步注册中心镜像165
  • 技巧64通过受限连接交付镜像166
  • 技巧65以TAR文件方式共享Docker对象168
  • 技巧66使用etcd通知容器170
  • 技巧67使用confd启用零停机时间切换173
  • 第8章网络模拟:无痛的现实环境测试178
  • 技巧68一个简单的DockerCompose集群178
  • 技巧69一个使用DockerCompose的SQLite服务器182
  • 技巧70使用Resolvable通过DNS查找容器185
  • 技巧71使用Comcast模拟有问题的网络188
  • 技巧72使用Blockade模拟有问题的网络191
  • 技巧73使用Weave建立一个基底网络195
  • 技巧74Docker的网络与服务功能198
  • 第四部分生产环境中的Docker
  • 第9章容器编排:管理多个Docker容器205
  • 技巧75使用systemd管理宿主机上的容器206
  • 技巧76使用systemd编排宿主机上的容器210
  • 技巧77使用Helios手动管理多宿主机Docker213
  • 技巧78基于Swarm的无缝Docker集群219
  • 技巧79使用Kubernetes集群222
  • 技巧80在Mesos上构建框架228
  • 技巧81使用Marathon细粒度管理Mesos235
  • 技巧82使用Consul来发现服务238
  • 技巧83使用Registrator进行自动化服务注册246
  • 第10章Docker与安全249
  • 技巧84限制能力251
  • 技巧85Docker实例上的HTTP认证253
  • 技巧86保护DockerAPI257
  • 技巧87OpenShift——一个应用程序平台即服务260
  • 技巧88使用安全选项269
  • 第11章一帆风顺——生产环境中的Docker以及运维上的考量276
  • 技巧89记录容器的日志到宿主机的syslog276
  • 技巧90把Docker日志发送到宿主机的输出系统279
  • 技巧91使用cAdvisor监控容器281
  • 技巧92限制容器可以运行的内核282
  • 技巧93给重要的容器更多CPU283
  • 技巧94限制容器的内存使用285
  • 技巧95使用Docker来运行cron作业286
  • 技巧96通过“保存游戏”的方法来备份289
  • 第12章Docker生产环境实践——应对各项挑战292
  • 技巧97从容器访问宿主机资源292
  • 技巧98DeviceMapper存储驱动和默认的容器大小296
  • 技巧99使用nsenter调试容器的网络298
  • 技巧100无须重新配置,使用tcpflow进行实时调试301
  • 技巧101调试在特定宿主机上出问题的容器302
  • 附录A安装并使用Docker307
  • 附录BDocker配置311
  • 附录CVagrant313

资源获取

资源地址1:https://pan.baidu.com/s/1o1y5C-Hfcv5llRiTX1QYNA

网友留言

网友NO.46132
仰英毅

dockerfile基础创建指令说明: From:指定基础镜像,如果本地不在,则到docker hub中找; MANTAINER:维护者信息 RUN:运行指定指令 CMD:指定启动容器的默认执行指令 LABEL:用来指定生成镜像的元数据标签信息。 EXPOSE:声明镜像内指定服务的监听的端口。 ENV:指定环境变量。 ADD/COPY:复制。 ENTRYPOINT:指定镜像的默认入口 VOLUME:创建一个数据卷挂载点 USER:指定运行容器时的用户名和UID,后续的RUN. WORKDIR:为后续的RUN,CMD,ENTRYPOINT配置工作目录。 ARG:指定一些镜像里面使用的参数 HEALTHCHECK:健康检查 ONBUILD:配置当前镜像为其他镜像的基础镜像时,所执行的创建操作命令;

网友NO.38731
赵智勇

核心概念 docker主机(Host):安装了Docker程序的机器(Docker直接安装在操作系统之上); docker客户端(Client):连接docker主机进行操作; docker仓库(Registry):用来保存各种打包好的软件镜像; docker镜像(Images):软件打包好的镜像;放在docker仓库中; docker容器(Container):镜像启动后的实例称为一个容器;容器是独立运行的一个或一组应用

网友NO.45546
巴云亭

最近一段时间学习了下Docker,关于Docker的安装,运用什么的在这里我不会过多的说明,我只说我对于Docker的一些理解,附加我用于记录的少量代码。 刚开始学习Docker的时候,找资料在网上看到最多的是Docker的好处。比如: 1、Docker 容器的启动可以在秒级实现,这相比传统的虚拟机方式要快得多 2、Docker 对系统资源的利用率很高,一台主机上可以同时运行数千个 Docker 容器。 3、更快速的交付和部署、更轻松的迁移和扩展 等等…… 因为我是做java开发的,我们现有的模式是在一个服务器上安装统一一个jdk,运行多个tomcat,每个tomcat里面一个java应用,大家也知道tomcat不用安装,当我们项目要迁徙的时候也只需要把整个tomcat打包然后在另一台服务器上解压就ok了,也很简单。。。当时我就不懂Docker有什么好处,一度以为对我们现有的模式没用。知道昨天跟其他人交流我才弄明白一个问题,那就是应用隔离与资源独立!!