当前位置:主页 > 书籍配套资源 > Docker配套资源
《Docker从入门到实战》配书资源

《Docker从入门到实战》配书资源

  • 更新:2022-02-27
  • 大小:1.33 MB
  • 类别:Docker
  • 作者:黄靖钧
  • 出版:机械工业出版社
  • 格式:PDF

  • 资源介绍
  • 相关推荐

本书从Docker的相关概念与基础知识讲起,结合实际应用,通过不同开发环境的实战例子,详细介绍了Docker的基础知识与进阶实战的相关内容,以引领读者快速入门并提高。

本书共19章,分3篇。第1篇容器技术与Docker概念,涵盖的内容有容器技术、Docker 简介、安装 Docker等。第2篇Docker基础知识,涵盖的内容有Docker 基础、Docker 镜像、Docker文件、Docker 仓库、Docker 容器、数据卷、网络管理等。第3篇Docker进阶实战,涵盖的内容有操作系统、编排工具Compose、Web 服务器与应用、数据库、编程语言、Docker API、私有仓库、集群网络、Docker 安全等。

本书非常适合所有对Docker感兴趣的入门新手阅读。不管你是开发人员还是运维人员,都可以通过本书学习Docker的基本知识。如果你不是程序员,本书同样适合你,普通用户完全可以把Docker当做一个“好玩的工具”来使用,以体验Docker带来的便捷。

封面图

目录

  • 前言
  • 第1篇容器技术与Docker概念
  • 第1章容器技术 2
  • 1.1什么是容器 2
  • 1.1.1关于虚拟化 2
  • 1.1.2容器的定义 3
  • 1.1.3为什么使用容器 3
  • 1.2容器技术的前世今生 4
  • 1.2.1容器技术的起源 4
  • 1.2.2容器技术的发展 5
  • 1.3容器的原理 7
  • 1.3.1从namespace说起 7
  • 1.3.2认识Cgroups 9
  • 1.3.3容器的创建 11
  • 1.4容器云 12
  • 1.5容器与Docker 13
  • 1.6本章小结 13
  • 第2章Docker简介 14
  • 2.1什么是Docker 14
  • 2.1.1Docker的历史 14
  • 2.1.2Docker的现状 16
  • 2.1.3Docker的未来 17
  • 2.2Docker的功能及优缺点 18
  • 2.2.1Docker在解决什么 18
  • 2.2.2为什么选择Docker 19
  • 2.2.3Docker的缺点 19
  • 2.3Docker和虚拟机 19
  • 2.3.1Docker与虚拟机的区别 20
  • 2.3.2Docker与虚拟机的优缺点 20
  • 2.4Docker与runC 21
  • 2.4.1libcontainer与runC 21
  • 2.4.2runC的使用 22
  • 2.4.3runC原理 22
  • 2.5Docker基本架构 24
  • 2.5.1Docker Client介绍 24
  • 2.5.2Docker daemon介绍 25
  • 2.5.3Docker镜像 25
  • 2.5.4Docker容器 26
  • 2.5.5Docker仓库 26
  • 2.6本章小结 26
  • 第3章安装Docker 27
  • 3.1Linux系统 27
  • 3.1.1一键安装脚本 27
  • 3.1.2Debian发行版 28
  • 3.1.3Ubuntu发行版 30
  • 3.1.4Centos/Fedora发行版 33
  • 3.1.5Arch Linux发行版 37
  • 3.1.6Suse/openSUSE发行版 38
  • 3.2Windows与Mac OS系统 38
  • 3.2.1在Windows上安装原生Docker 39
  • 3.2.2在Mac OS上安装原生Docker 41
  • 3.3二进制安装 43
  • 3.3.1获取Linux二进制包 44
  • 3.3.2获取Mac OS X二进制包 44
  • 3.3.3获取Windows的二进制包 45
  • 3.3.4树莓派安装Docker 45
  • 3.4本章小结 46
  • 第2篇Docker基础知识
  • 第4章Docker基础 48
  • 4.1Docker基本操作 48
  • 4.1.1依附容器的docker attach命令 49
  • 4.1.2构建镜像的docker build命令 51
  • 4.1.3提交容器的docker commit命令 52
  • 4.1.4复制文件到宿主机的docker cp命令 52
  • 4.1.5创建容器的docker create命令 53
  • 4.1.6查看容器变化的docker diff命令 54
  • 4.1.7查看事件的docker events命令 54
  • 4.1.8进入容器的docker exec命令 55
  • 4.1.9导出容器的docker export命令 56
  • 4.1.10查看镜像历史的docker history命令 56
  • 4.1.11查看本地镜像的docker images命令 57
  • 4.1.12导入容器的docker import命令 58
  • 4.1.13查看Docker信息的docker info命令 58
  • 4.1.14查看各项详细信息的docker inspect命令 59
  • 4.1.15杀死容器的docker kill命令 60
  • 4.1.16导入镜像的docker load命令 60
  • 4.1.17登录仓库的docker login命令 61
  • 4.1.18登出仓库的docker logout命令 61
  • 4.1.19查看容器日志的docker logs命令 62
  • 4.1.20管理网络的docker network命令 62
  • 4.1.21管理节点的docker node命令 63
  • 4.1.22暂停容器的docker pause命令 64
  • 4.1.23查看容器端口的docker port命令 64
  • 4.1.24查看本地容器信息的docker ps命令 65
  • 4.1.25拉取镜像的docker pull命令 65
  • 4.1.26推送镜像的docker push命令 66
  • 4.1.27重命名容器的docker rename命令 66
  • 4.1.28重启容器的docker restart命令 66
  • 4.1.29删除容器的docker rm命令 67
  • 4.1.30删除镜像的docker rmi命令 67
  • 4.1.31运行容器的docker run命令 68
  • 4.1.32导出镜像的docker save命令 72
  • 4.1.33搜索镜像的docker search命令 73
  • 4.1.34管理服务的docker service命令 74
  • 4.1.35启动容器的docker start命令 74
  • 4.1.36查看容器状态的docker stats命令 75
  • 4.1.37停止容器的docker stop命令 75
  • 4.1.38管理集群的docker swarm命令 76
  • 4.1.39设置镜像标签的docker tag命令 76
  • 4.1.40查看容器进程的docker top命令 77
  • 4.1.41恢复暂停容器的docker unpause命令 77
  • 4.1.42更新容器的docker update命令 77
  • 4.1.43查看Docker版本的docker version命令 78
  • 4.1.44管理数据卷的docker volume命令 78
  • 4.1.45设置等待的docker wait命令 79
  • 4.2启动第一个Docker容器 79
  • 4.3构建第一个Docker镜像 80
  • 4.4本章小结 81
  • 第5章Docker镜像 82
  • 5.1认识镜像 82
  • 5.1.1使用docker pull拉取镜像 82
  • 5.1.2搜索镜像 83
  • 5.1.3查看镜像信息 84
  • 5.2创建镜像 86
  • 5.2.1剖析Hello World镜像 86
  • 5.2.2从Dockerfile构建镜像 86
  • 5.2.3自动构建镜像 87
  • 5.2.4提交容器为镜像 90
  • 5.3导出和导入镜像 91
  • 5.3.1导出镜像到本地文件系统 91
  • 5.3.2从本地文件系统导入镜像 91
  • 5.4发布镜像 91
  • 5.4.1发布镜像到Docker Hub 92
  • 5.4.2给镜像打上标签 92
  • 5.4.3发布到第三方镜像仓库 92
  • 5.5删除镜像 93
  • 5.5.1删除本地镜像 93
  • 5.5.2删除仓库镜像 93
  • 5.6Docker镜像扩展 94
  • 5.6.1Docker镜像里有什么 94
  • 5.6.2Docker镜像的存储方式 95
  • 5.6.3联合挂载 95
  • 5.6.4Git式管理 96
  • 5.7本章小结 96
  • 第6章Dockerfile文件 97
  • 6.1Dockerfile基本结构 97
  • 6.1.1Dockerfile基础 97
  • 6.1.2Dockerfile的书写规则 98
  • 6.1.3基础镜像信息和维护者信息 99
  • 6.2Dockerfile指令 99
  • 6.2.1指定基础镜像的FROM指令 99
  • 6.2.2设置维护者信息的MAINTAINER指令 99
  • 6.2.3执行构建命令的RUN指令 99
  • 6.2.4设置镜像环境变量的ENV指令 100
  • 6.2.5复制文件的COPY指令 100
  • 6.2.6添加文件的ADD指令 100
  • 6.2.7指定端口暴露的EXPOSE指令 100
  • 6.2.8设置镜像启动命令的CMD指令 101
  • 6.2.9设置接入点的ENTRYPOINT指令 102
  • 6.2.10设置数据卷的VOLUME指令 102
  • 6.2.11设置构建用户的USER指令 103
  • 6.2.12设置工作目录的WORKDIR指令 103
  • 6.2.13设置二次构建指令的ONBUILD指令 104
  • 6.2.14设置元数据的LABEL指令 105
  • 6.2.15设置构建变量的ARG指令 105
  • 6.2.16设置停止信号的STOPSIGNAL指令 105
  • 6.2.17检查镜像状态的HEALTHCHECK指令 105
  • 6.2.18设置命令执行环境的SHELL指令 106
  • 6.3镜像构建实战 106
  • 6.3.1收集应用信息 106
  • 6.3.2编写Dockerfile 106
  • 6.3.3设置自动构建 107
  • 6.4本章小结 108
  • 第7章Docker仓库 109
  • 7.1官方仓库Docker Hub 109
  • 7.1.1Docker Hub登录与使用 109
  • 7.1.2Docker Hub与Docker Cloud 110
  • 7.2国内镜像仓库 111
  • 7.2.1中国科学技术大学镜像仓库 111
  • 7.2.2DaoCloud镜像加速器 112
  • 7.2.3阿里云镜像加速器 113
  • 7.2.4灵雀云镜像加速器 114
  • 7.2.5时速云镜像加速器 115
  • 7.2.6网易蜂巢 116
  • 7.2.7自建镜像加速器 116
  • 7.3私有仓库 117
  • 7.3.1搭建私有仓库 117
  • 7.3.2私有仓库的使用 117
  • 7.3.3私有仓库安全性 118
  • 7.4Registry原理 118
  • 7.4.1Registry组成 118
  • 7.4.2Registry工作流程 119
  • 7.5本章小结 120
  • 第8章Docker容器 121
  • 8.1容器基本操作 121
  • 8.1.1创建容器 122
  • 8.1.2启动容器 122
  • 8.1.3后台运行容器 123
  • 8.1.4自动重启容器 123
  • 8.1.5停止与杀死容器 124
  • 8.1.6删除容器 125
  • 8.1.7查看容器信息 125
  • 8.2进入容器内部 128
  • 8.2.1使用attach进入容器 128
  • 8.2.2使用exec进入容器 129
  • 8.2.3使用nsenter进入容器 129
  • 8.3导出和导入容器 130
  • 8.3.1导出容器 130
  • 8.3.2导入容器 130
  • 8.4容器结构 131
  • 8.4.1容器格式是什么 131
  • 8.4.2容器内部结构 132
  • 8.5本章小结 133
  • 第9章数据卷 134
  • 9.1数据卷是什么 134
  • 9.1.1数据卷介绍 134
  • 9.1.2数据卷容器介绍 135
  • 9.2为容器挂载数据卷 135
  • 9.2.1挂载数据卷 135
  • 9.2.2挂载数据卷容器 136
  • 9.2.3数据卷挂载小结 137
  • 9.3备份、恢复、迁移数据卷 139
  • 9.3.1备份数据卷 139
  • 9.3.2迁移、恢复数据卷 140
  • 9.4容器数据卷扩展 140
  • 9.4.1卷插件介绍 140
  • 9.4.2Convoy的使用 140
  • 9.4.3Flocker的使用 141
  • 9.5本章小结 142
  • 第10章网络管理 143
  • 10.1Docker网络基础 143
  • 10.1.1端口映射 143
  • 10.1.2端口暴露 145
  • 10.1.3容器互联 146
  • 10.2Docker网络模式 147
  • 10.2.1none模式 147
  • 10.2.2container模式 149
  • 10.2.3host模式 150
  • 10.2.4bridge模式 151
  • 10.2.5overlay模式 152
  • 10.3Docker网络配置 152
  • 10.3.1Daemon网络参数 152
  • 10.3.2配置DNS 153
  • 10.3.3network命令 154
  • 10.4本章小结 154
  • 第3篇Docker进阶实战
  • 第11章操作系统 156
  • 11.1Alpine发行版 156
  • 11.1.1官方镜像 156
  • 11.1.2运行Alpine Linux 157
  • 11.1.3构建基于Alpine Linux的镜像 157
  • 11.1.4Alpine Linux软件仓库 158
  • 11.2Busybox发行版 159
  • 11.2.1官方镜像 159
  • 11.2.2运行Busybox 159
  • 11.2.3构建基于Busybox的镜像 159
  • 11.3Debian/Ubuntu发行版 160
  • 11.3.1官方镜像 160
  • 11.3.2运行Debian/Ubuntu 160
  • 11.3.3构建基于Debian/Ubuntu的镜像 161
  • 11.4CentOS/Fedora发行版 162
  • 11.4.1官方镜像 162
  • 11.4.2运行CentOS/Fedora 162
  • 11.5CoreOS发行版 163
  • 11.5.1为什么使用CoreOS 163
  • 11.5.2用Vagrant安装CoreOS 163
  • 11.6RancherOS发行版 165
  • 11.6.1为什么使用RancherOS 165
  • 11.6.2在服务器安装RancherOS 166
  • 11.6.3基于RancherOS的Docker管理 167
  • 11.7本章小结 167
  • 第12章编排工具Compose 169
  • 12.1安装Docker Compose 169
  • 12.1.1二进制安装 169
  • 12.1.2使用Python pip安装 169
  • 12.2Compose命令基础 170
  • 12.2.1指定配置文件 171
  • 12.2.2指定项目名称 171
  • 12.2.3Compose环境变量 171
  • 12.2.4构建服务镜像的build命令 172
  • 12.2.5生成DAB包的bundle命令 173
  • 12.2.6检查配置语法的config命令 173
  • 12.2.7创建服务容器的create命令 174
  • 12.2.8清理项目的down命令 174
  • 12.2.9查看事件的events命令 175
  • 12.2.10进入服务的exec命令 176
  • 12.2.11杀死服务容器的kill命令 176
  • 12.2.12查看服务容器日志的logs命令 176
  • 12.2.13暂停服务容器的pause命令 177
  • 12.2.14查看服务容器端口状态的port命令 177
  • 12.2.15查看项目容器信息ps命令 177
  • 12.2.16拉取项目镜像的pull命令 178
  • 12.2.17推送项目镜像的push命令 179
  • 12.2.18重启服务容器的restart命令 179
  • 12.2.19删除项目容器的rm命令 179
  • 12.2.20执行一次性命令的run命令 180
  • 12.2.21设置服务容器数量的scale命令 182
  • 12.2.22启动服务容器的start命令 184
  • 12.2.23停止服务容器的stop命令 184
  • 12.2.24取消暂停的unpause命令 185
  • 12.2.25启动项目的up命令 185
  • 12.3Compose配置文件 186
  • 12.3.1配置文件基础 186
  • 12.3.2基本配置 187
  • 12.3.3网络配置 196
  • 12.3.4配置扩展 197
  • 12.4Compose实战 200
  • 12.4.1部署Django 200
  • 12.4.2部署Rails 202
  • 12.4.3部署WordPress 203
  • 12.5本章小结 205
  • 第13章Web服务器与应用 206
  • 13.1Apache服务器 206
  • 13.1.1官方镜像 206
  • 13.1.2运行官方镜像 208
  • 13.1.3基于Ubuntu构建Apache镜像 209
  • 13.1.4基于Alpine构建Apache镜像 210
  • 13.1.5第三方优质镜像 211
  • 13.2Nginx服务器 212
  • 13.2.1官方镜像介绍 212
  • 13.2.2运行官方镜像 212
  • 13.2.3构建Nginx镜像 214
  • 13.2.4第三方镜像推荐 216
  • 13.3Tomcat服务器 216
  • 13.3.1官方镜像介绍 217
  • 13.3.2运行官方镜像 217
  • 13.3.3构建Tomcat镜像 218
  • 13.4其他Web服务器 220
  • 13.4.1Caddy服务器 220
  • 13.4.2WebLogic服务器 221
  • 13.5本章小结 223
  • 第14章数据库 224
  • 14.1MySQL数据库 224
  • 14.1.1官方镜像的剖析与使用 224
  • 14.1.2构建自己的MySQL镜像 226
  • 14.2PostgreSQL数据库 228
  • 14.2.1官方镜像的使用 228
  • 14.2.2官方镜像的剖析 230
  • 14.2.3构建PostgreSQL镜像 232
  • 14.2.4数据备份与导入 234
  • 14.3Redis数据库 235
  • 14.3.1官方镜像的使用 235
  • 14.3.2构建自己的Redis镜像 236
  • 14.4MongoDB数据库 238
  • 14.4.1官方镜像的使用 238
  • 14.4.2构建自己的MongoDB镜像 239
  • 14.5其他 240
  • 14.5.1在容器中使用SQLite 240
  • 14.5.2构建自己的MariaDB镜像 241
  • 14.5.3使用Docker部署Orcale XE数据库 243
  • 14.6本章小结 244
  • 第15章编程语言 245
  • 15.1C/C++语言 245
  • 15.1.1官方镜像library/gcc 245
  • 15.1.2基于Alpine构建C/C++镜像 246
  • 15.2Golang语言 247
  • 15.2.1官方镜像library/golang 248
  • 15.2.2Beego框架 250
  • 15.2.3自助Git服务——Gogs 250
  • 15.2.4基于Alpine构建Golang镜像 252
  • 15.3Java语言 253
  • 15.3.1官方镜像library/openjdk 253
  • 15.3.2基于Alpine构建Java镜像 254
  • 15.3.3Tomcat服务器 255
  • 15.3.4下一代集成开发环境——Eclipse Che 256
  • 15.4JavaScript(Node.js)语言 258
  • 15.4.1官方镜像library/node 258
  • 15.4.2vue.js框架 260
  • 15.4.3Express框架 261
  • 15.4.4浏览器里的IDE——Cloud9-IDE 262
  • 15.4.5基于Alpine构建Node.js镜像 264
  • 15.5PHP语言 265
  • 15.5.1官方镜像library/php 265
  • 15.5.2快速安装扩展 267
  • 15.5.3LNMP环境组合 268
  • 15.5.4基于Alpine构建PHP镜像 270
  • 15.5.5自建私有云存储——ownCloud 271
  • 15.5.6Typecho博客系统 273
  • 15.6Python语言 275
  • 15.6.1官方镜像library/python 275
  • 15.6.2Flask框架 275
  • 15.6.3基于Alpine构建Python镜像 277
  • 15.7Swift语言 277
  • 15.7.1构建Swift镜像 277
  • 15.7.2Kitura框架 278
  • 15.8本章小结 280
  • 第16章Docker API介绍 281
  • 16.1认识Docker API 281
  • 16.1.1RESTful介绍 281
  • 16.1.2开启socket 282
  • 16.1.3使用curl 283
  • 16.1.4使用Postman 284
  • 16.2Docker Remote API介绍 286
  • 16.2.1容器API 286
  • 16.2.2镜像API 293
  • 16.3其他API 299
  • 16.3.1常用API 300
  • 16.3.2Trusted Registry API介绍 302
  • 16.4本章小结 304
  • 第17章私有仓库 305
  • 17.1Docker Registry介绍 305
  • 17.1.1部署Docker Registry 305
  • 17.1.2私有仓库的push与pull 305
  • 17.1.3配置Registry 306
  • 17.1.4添加Docker Hub Mirror功能 311
  • 17.2认证与前端 312
  • 17.2.1设置反代理 312
  • 17.2.2为私有仓库添加认证服务 313
  • 17.2.3为私有仓库添加可视化界面 315
  • 17.3企业级私有仓库Harbor 316
  • 17.3.1Harbor配置详解 316
  • 17.3.2配置HTTPS 318
  • 17.3.3使用Compose启动Harbor 320
  • 17.4私有仓库前端授权工具Portus 321
  • 17.4.1一键部署Portus 321
  • 17.4.2手动配置 321
  • 17.4.3启动Portus 322
  • 17.5本章小结 323
  • 第18章集群网络 324
  • 18.1Swarm集群 324
  • 18.1.1认识Swarm 324
  • 18.1.2建立跨主机网络 328
  • 18.1.3在跨主机网络上部署应用 328
  • 18.1.4Swarm集群负载 331
  • 18.2第三方网络管理工具 333
  • 18.2.1Weave介绍 333
  • 18.2.2Flannel介绍 335
  • 18.2.3Pipwork介绍 335
  • 18.3第三方服务发现 336
  • 18.3.1Etcd介绍 336
  • 18.3.2Consul介绍 337
  • 18.4第三方集群管理 337
  • 18.4.1Kubernetes介绍 337
  • 18.4.2Mesos Shipyard介绍 339
  • 18.5本章小结 339
  • 第19章Docker安全 340
  • 19.1Docker安全机制 340
  • 19.1.1Daemon安全 340
  • 19.1.2容器与镜像安全 341
  • 19.2Docker资源控制 342
  • 19.2.1限制CPU 342
  • 19.2.2限制内存 343
  • 19.2.3限制I/O 343
  • 19.2.4文件系统防护 344
  • 19.2.5镜像瘦身神器Docker Slim 344
  • 19.2.6强制访问控制工具SELinux或AppArmor 344
  • 19.3本章小结 345

资源下载

资源下载地址1:https://pan.baidu.com/s/1pVxpaX2DQmV1wrszGQYiLQ

相关资源

网友留言