当前位置:主页 > 计算机电子书 > 程序设计 > Docker下载
Docker基础与实战

Docker基础与实战 PDF 完整版

  • 更新:2019-05-23
  • 大小:147 MB
  • 类别:Docker
  • 作者:李在弘
  • 出版:人民邮电出版社
  • 格式:PDF

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

Docker基础与实战

Docker基础与实战

读者评价

1. 首先不得不说的是技术发展真的太快了,这书刚刚出版我就买了,按照其中的安装介绍开始安装,装好了发现报错,结果一查书中推荐的boot2docker在1年前就被废弃了, 简直是坑, 后来按照docker官网装好才能继续往下。
2. 看到介绍往一台服务器部署应用服务和向多台服务器部署应用服务,这。。 这。。 大量篇幅都是重复的,干嘛还要再介绍一遍啊, 不带这么冗余骗人的, 而且还这么多图;
3. 其次部分内容的阅读性很差,比如说在Amazon Web Services, Google cloud platform中使用docker, 在docker中部署Wordpress, Ruby on Rails, Django这些内容都是用到的时候才会看,等用到的时候很可能书中的内容就过时了,这种东西一定要看官方指导文档啊,官方是给出了很明确的指导的,骗钱的嫌疑有点坐实了啊。
4. 内容编排不够合理, Docker Hub官网介绍没啥技术含量的东西就应该放在一开始讲吗,结果放在了第12章,第18章的Docker应用案例其实就是在介绍使用Docker的几大好处吗,放在前边吸引大家兴趣难道不好吗,结果最后来这么一出。Docker命令与选项列表跟编译docker一起作为附录出现多好,非得整个19章,结果都是docker命令的罗列,我难道不能用dash吗?
5. 书中出现了一些低级错误,比如说233页介绍mysql的连接命令 mysql -u root -p 3600 直接写成了 mysql -uroot -p3600 不懂的是要犯懵的
吐槽了这许多,也必须夸点好的了,从书中学到了密钥,如何生成ssh key跟服务器交互的相关知识,同时了解到了githook应该怎么用,如何让每次提交能够自动得到部署,这是非常爽的,有种想马上推起来的感觉, 这脚本让咱直接写可能还真得费点劲,如何去远程执行ssh命令而忽略ssh告警,网站服务器监控应该如何快速搭建(利用Graphite, Graphite Web, Carbon, Crafana, Elasticsearch, Diamond 这一系列东西), 所以我说这是一本入门Docker的好书,但是你想研究研究docker的原理之类的恐怕要大失所望了,国内有一本《Docker容器与容器云》,还没来得及看,感觉写的挺深的, 这本书就留作查阅书吧, 里边的指令详解啥的还是可以时不时抄起来一用。

内容介绍

\本书围绕已应用于多个项目的Docker技术展开讲解,前半部分以浅显的语言介绍基础概念、不同操作系统下的安装流程、多种命令与镜像创建等理论。主要内容集中于后半部分的实际操作,包括数据库应用、服务器应用、编程语言应用、安全应用、网络配置等,非常适合一线技术人员直接应用于实际业务,便于着手实践。

目录

  • 第1章 Docker  1
  • 1.1 虚拟机与Docker  3
  • 1.1.1 虚拟机  4
  • 1.1.2 Docker  5
  • 1.1.3 Linux容器  6
  • 1.2 Docker镜像与容器  8
  • 第2章 安装Docker  11
  • 2.1 Linux  11
  • 2.1.1 自动安装脚本  11
  • 2.1.2 Ubuntu  11
  • 2.1.3 RedHat Enterprise Linux、CentOS  12
  • 2.1.4 使用最新二进制文件  12
  • 2.2 Mac OS X  13
  • 2.3 Windows  16
  • 第3章 使用Docker  23
  • 3.1 使用search命令搜索镜像  23
  • 3.2 使用pull命令下载镜像  25
  • 3.3 使用images命令列出镜像目录  25
  • 3.4 使用run命令创建容器  25
  • 3.5 使用ps命令查看容器列表  26
  • 3.6 使用start命令启动容器  26
  • 3.7 使用restart命令重启容器  27
  • 3.8 使用attach命令连接容器  27
  • 3.9 使用exec命令从外部运行容器内的命令  27
  • 3.10 使用stop命令终止容器  28
  • 3.11 使用rm命令删除容器  28
  • 3.12 使用rmi命令删除镜像  29
  • 第4章 创建Docker镜像  31
  • 4.1 熟悉Bash  31
  • 4.2 编写Dockerfile  36
  • 4.3 使用build命令创建镜像  37
  • 第5章 查看Docker  39
  • 5.1 使用history命令查看镜像历史  39
  • 5.2 使用cp命令复制文件  40
  • 5.3 使用commit命令从容器的修改中创建镜像  40
  • 5.4 使用diff命令检查容器文件的修改  40
  • 5.5 使用inspect命令查看详细信息  41
  • 第6章 灵活使用Docker  43
  • 6.1 搭建Docker私有仓库  43
  • 6.1.1 存储镜像数据到本地  43
  • 6.1.2 使用push命令上传镜像  44
  • 6.1.3 存储镜像数据到Amazon S3  45
  • 6.1.4 使用默认认证  46
  • 6.2 连接Docker的容器  52
  • 6.3 连接到其他服务器的Docker 容器  53
  • 6.4 使用Docker数据卷  56
  • 6.5 使用Docker数据卷容器  59
  • 6.6 创建Docker基础镜像  60
  • 6.6.1 创建Ubuntu基础镜像  60
  • 6.6.2 创建CentOS基础镜像  61
  • 6.6.3 创建空基础镜像  62
  • 6.7 在Docker内运行Docker  64
  • 第7章 详细了解Dockerfile  67
  • 7.1 .dockerignore  68
  • 7.2 FROM  68
  • 7.3 MAINTAINER  69
  • 7.4 RUN  69
  • 7.5 CMD  70
  • 7.6 ENTRYPOINT  71
  • 7.7 EXPOSE  73
  • 7.8 ENV  73
  • 7.9 ADD  74
  • 7.10 COPY  76
  • 7.11 VOLUME  77
  • 7.12 USER  77
  • 7.13 WORKDIR  78
  • 7.14 ONBUILD  79
  • 第8章 使用Docker部署应用程序  81
  • 8.1 向一台服务器部署应用程序  81
  • 8.1.1 在开发者PC安装Git并创建仓库  82
  • 8.1.2 在开发者PC中使用Node.js编写Web服务器  83
  • 8.1.3 在开发者PC中编写Dockerfile文件  84
  • 8.1.4 在开发者PC中生成SSH 密钥  85
  • 8.1.5 在服务器端安装Git并创建仓库  86
  • 8.1.6 在服务器中安装Docker  87
  • 8.1.7 在服务器中安装SSH密钥  88
  • 8.1.8 在服务器中安装Git Hook  89
  • 8.1.9 在开发者PC中推送源代码  90
  • 8.2 向多台服务器部署应用程序  91
  • 8.2.1 在开发者PC安装Git并创建仓库  92
  • 8.2.2 在开发者PC中使用Node.js编写Web 服务器  93
  • 8.2.3 在开发者PC中编写Dockerfile文件  94
  • 8.2.4 在开发者PC中生成SSH密钥  95
  • 8.2.5 在部署服务器安装Git并创建仓库  96
  • 8.2.6 在部署服务器中生成SSH密钥  97
  • 8.2.7 在部署服务器中安装Docker  98
  • 8.2.8 在部署服务器中安装Docker注册服务器  99
  • 8.2.9 在部署服务器中安装SSH密钥  100
  • 8.2.10 在部署服务器中安装Git Hook  101
  • 8.2.11 在应用程序服务器中安装Docker  103
  • 8.2.12 在应用程序服务器中安装SSH 密钥  104
  • 8.2.13 在开发者PC中推送源代码  105
  • 第9章 Docker监控  107
  • 9.1 编写监控服务器Dockerfile  108
  • 9.2 编写应用程序服务器Dockerfile  111
  • 9.3 在Web 浏览器中查看图表  114
  • 第10章 在Amazon Web Services中使用Docker  117
  • 10.1 在Amazon EC2中使用Docker  117
  • 10.2 在AWS Elastic Beanstalk中使用Docker  119
  • 10.2.1 在AWS控制台部署Docker应用程序  119
  • 10.2.2 使用Docker Hub公开仓库镜像  129
  • 10.2.3 使用Docker Hub私有仓库的镜像  131
  • 10.2.4 使用Git部署Elastic Beanstalk Docker应用程序  139
  • 第11章 在Google Cloud Platform中使用Docker  145
  • 11.1 安装Goolge Cloud SDK  145
  • 11.2 在Compute Engine中使用Docker  147
  • 11.3 在Container Engine中使用Docker  148
  • 第12章 使用Docker Hub  151
  • 12.1 加入Docker Hub  151
  • 12.2 使用push命令上传镜像  153
  • 12.3 创建Docker Hub私有仓库  155
  • 12.4 使用Docker Hub Automated Build  157
  • 第13章 使用Docker Remote API  167
  • 13.1 使用Docker Remote API Python库  169
  • 13.1.1 创建并启动容器  169
  • 13.1.2 创建镜像  173
  • 13.1.3 显示容器列表  175
  • 13.1.4 显示镜像列表  176
  • 13.1.5 其他示例与函数  176
  • 13.2 使用Docker Remote API Python库进行HTTPS通信  187
  • 13.2.1 创建证书  187
  • 13.2.2 使用Python库  191
  • 第14章 使用CoreOS  193
  • 14.1 在VirtualBox中安装CoreOS  196
  • 使用systemd运行服务  205
  • 14.2 使用Vagrant安装CoreOS  206
  • 14.3 使用etcd  211
  • 14.3.1 创建etcd键与目录  211
  • 14.3.2 输出etcd键与目录列表  212
  • 14.3.3 设置自动删除etcd键与目录  212
  • 14.3.4 监视etcd键  213
  • 14.3.5 etcd其他命令  214
  • 14.4 使用fleet  214
  • 14.4.1 输出fleet机器列表  215
  • 14.4.2 使用fleet运行Unit  215
  • 14.4.3 输出fleet Unit列表  217
  • 14.4.4 查看fleet Unit状态  217
  • 14.4.5 测试fleet的自动恢复功能  218
  • 14.4.6 使用fleet专用选项  219
  • 14.4.7 灵活使用fleet Unit文件模板  222
  • 14.4.8 灵活使用fleet sidekick模型  224
  • 14.4.9 fleet其他命令  227
  • 14.5 在云服务中使用CoreOS  227
  • 14.5.1 在Amazon EC2中使用CoreOS  227
  • 14.5.2 在Google Compute Engine中使用CoreOS  229
  • 第15章 使用Docker搭建WordPress 博客  231
  • 15.1 编写WordPress Dockerfile文件  232
  • 15.2 编写MySQL数据库Dockerfile文件  233
  • 15.3 创建WordPress与数据库容器  236
  • 第16章 使用Docker构建Ruby on Rails应用  237
  • 16.1 安装Ruby与Rails  238
  • 16.2 编写Rails Dockerfile  240
  • 16.3 编写PostgreSQL数据库Dockerfile 文件  245
  • 16.4 创建Rails与数据库容器  247
  • 第17章 使用Docker构建Django应用  249
  • 17.1 安装Django  250
  • 17.2 编写Django Dockerfile文件  253
  • 17.3 编写Oracle数据库Dockerfile文件  258
  • 17.4 创建Django与数据库容器  261
  • 第18章 Docker应用案例  263
  • 18.1 与负载平衡相关的自动伸缩  263
  • 18.2 整合开发、测试、运营  264
  • 18.3 轻松迁移服务  265
  • 18.4 用于测试  267
  • 第19章 Docker命令与选项列表  269
  • 19.1 attach  270
  • 19.2 build  271
  • 19.3 Commit  273
  • 19.4 cp  273
  • 19.5 create  274
  • 19.6 diff  277
  • 19.7 events  277
  • 19.8 exec  278
  • 19.9 export  280
  • 19.10 history  280
  • 19.11 images  281
  • 19.12 import  281
  • 19.13 info  282
  • 19.14 inspect  283
  • 19.15 kill  284
  • 19.16 load  284
  • 19.17 login  285
  • 19.18 logout  286
  • 19.19 logs  286
  • 19.20 port  287
  • 19.21 pause  287
  • 19.22 ps  287
  • 19.23 pull  288
  • 19.24 push  289
  • 19.25 restart  289
  • 19.26 rm  289
  • 19.27 rmi  290
  • 19.28 run  291
  • 19.29 save  296
  • 19.30 search  297
  • 19.31 start  297
  • 19.32 stop  298
  • 19.33 tag  298
  • 19.34 top  299
  • 19.35 unpause  299
  • 19.36 version  300
  • 19.37 wait  300
  • 附录 编译Docker  301

资源获取

资源地址1:https://pan.baidu.com/s/1NluaVWWieSxXKdrcrE3ORw

相关资源

网友留言

网友NO.21376
郝妙旋

Dockfile编辑可能要注意的几个问题 COPY ADD 使用问题会设计到权限的问题如何解决权限 可以使用 COPY --chown= 或者 ADD --chown= 去解决 在使用过程中 如ADD使用了.tar.gz自动解压的功能,build执行后,包里面的权限是不会变化的。然后COPY 直接使用权限会直接更改为root。 USER的使用,影响哪些使用 影响后面的RUN CMD ENTRYPOINT 命令的执行身份,注意的是 而COPY命令却不服从 WORKDIR的使用 切换目录 一个事例 RUN cd /test RUN echo "test" >test.txt 请问最后镜像有/test/test.txt吗? 答:NO 解释:docker里边有层的概念,每个命令都是生成一个层,每个层都是独立的空间。所以第二个RUN时,工作目录并不会切换到/test下面 。

网友NO.23989
庾哲茂

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