资源名称:docker容器实战:原理、架构与应用 内容简介: 《Docker容器实战:原理、架构与应用》以Docker实战为原则,通过各种应用实例详细介绍Docker基本原理、Docker容器管理、Docker镜像制作、Docker仓库搭建等内容。《Docker容器实战:原理、架构与应用》注重Docker在不同场景的具体应用,专注于实用性和操作性。 《Docker容器实战:原理、架构与应用》共14章。涵盖的主要内容包括云计算简介、Docker的安装、使用Docker、Docker深入解析、容器的网络、容器的数据、镜像仓库、镜像和容器的存储结构、定制Docker Daemon、如何编写Dockerfile、Dockerfile最佳实践、使用容器提供服务、建立私有镜像仓库、Docker常见问题等。 《Docker容器实战:原理、架构与应用》内容丰富,实例典型,实用性强。适合学习Docker的初学者、使用Docker的开发者及系统运维人员,尤其是需要在生产环境定制Docker的开发者和运维人员。 资源目录: 第1篇 Docker基础知识介绍 第1章 云计算简介 2 1.1 虚拟化技术的分类和历史 3 1.1.1 硬件级虚拟化历史 3 1.1.2 操作系统级虚拟化历史 4 1.2 云计算服务模式 4 1.3 Docker介绍 5 1.3.1 Docker主要解决什么问题 6 1.3.2 Docker的历史 6 1.3.3 Docker是什么 6 1.4 Linux快速入门 7 1.4.1 选取什么发行版本 7 1.4.2 使用图形界面还是命令行界面 8 1.4.3 英文还是中文 8 1.4.4 安装Ubuntu 14.04 8 1.4.5 Linux常用工具 11 1.4.6 启用root 用户 12 1.4.7 使用vim 12 1.4.8 配置网络 13 1.4.9 启用SSH Server 13 1.4.10 通过客户端远程连接Linux主机 14 1.4.11 免密码登录Linux主机 15 1.4.12 安装软件 15 1.4.13 公有云主机快速入门 16 1.4.14 购买云主机 17 1.4.15 连接到云主机 19 1.5 习题 21 第2章 Docker的安装 22 2.1 在Ubuntu下安装Docker 22 2.1.1 前置条件 22 2.1.2 更新apt源 23 2.1.3 Ubuntu 14.04特殊处理 24 2.1.4 正式安装 24 2.2 在CentOS下安装 26 2.2.1 前置条件 26 2.2.2 更新yum 26 2.2.3 添加仓库 26 2.2.4 正式安装 26 2.3 通过Ghostcloud进行安装 27 2.3.1 注册Ghostcloud账号 28 2.3.2 接入新主机 28 2.3.3 获取安装脚本 28 2.3.4 验证Docker安装是否成功 30 2.3.5 运行第一个容器 30 2.4 通过官方的安装脚本安装 31 2.5 在非Linux系统下安装Docker 32 2.6 习题 32 第3章 使用Docker 33 3.1 运行hello-world 33 3.2 容器和镜像 35 3.2.1 什么是容器 35 3.2.2 什么是镜像 35 3.2.3 容器和镜像的关系 36 3.3 Docker入门操作 36 3.3.1 查看Docker基本信息 36 3.3.2 下载第一个基础镜像 37 3.3.3 运行一个含shell终端的容器 38 3.3.4 查看容器运行 38 3.3.5 运行长时间容器 38 3.3.6 查看所有容器 39 3.4 习题 40 第2篇 Docker的基本使用 第4章 Docker深入解析 42 4.1 Docker的架构 42 4.2 Docker如何工作 43 4.2.1 Docker Image工作方式 43 4.2.2 Docker Registry工作方式 44 4.2.3 容器工作方式 44 4.2.4 底层的技术 45 4.3 Docker Client和Daemon 46 4.4 通过容器运行Web应用 47 4.4.1 使用国内仓库 48 4.4.2 拉取apache-php镜像 48 4.4.3 运行镜像 48 4.4.4 网页访问 48 4.4.5 修改页面内容 49 4.4.6 持久化容器 50 4.5 镜像制作 50 4.5.1 查看本机镜像 50 4.5.2 获取镜像的三种方式 51 4.5.3 查找DockerHub镜像 51 4.5.4 查找其他仓库镜像 52 4.5.5 push镜像 54 4.5.6 根据Dockerfile编译镜像 55 4.5.7 删除镜像 56 4.6 docker run命令 56 4.6.1 docker run的语法格式 56 4.6.2 前后台运行 57 4.6.3 容器的标识 57 4.6.4 PID设置 58 4.6.5 UTS(--uts)设置 58 4.6.6 IPC(--ipc)设置 59 4.6.7 网络设置 59 4.6.8 重启策略(--restart) 60 4.6.9 Clean up (--rm) 61 4.6.10 CGroups控制 61 4.6.11 特权模式和Capabilities 61 4.6.12 日志驱动(--log-driver) 62 4.6.13 覆盖image的默认参数 62 4.7 习题 63 第5章 容器的网络 64 5.1 容器自带网络 64 5.2 网络详情 65 5.3 用户自定义网络 67 5.3.1 桥接网络 67 5.3.2 Overlay网络 68 5.4 习题 71 第6章 容器的数据 72 6.1 数据卷 72 6.1.1 创建一个数据卷 72 6.1.2 映射一个外部卷 73 6.2 使用数据型容器 73 6.3 备份、还原和迁移数据卷 73 6.4 容器和代码进行关联 74 6.5 习题 74 第7章 镜像仓库 75 7.1 仓库相关的Docker命令 75 7.1.1 登录 75 7.1.2 查找 76 7.1.3 拉取 76 7.1.4 提交 76 7.2 习题 76 第3篇 Docker的高级使用 第8章 镜像和容器的存储结构 78 8.1 镜像、容器和存储驱动的关系 78 8.1.1 镜像和镜像层 78 8.1.2 镜像存储方式 80 8.1.3 一个迁移例子 81 8.1.4 容器和容器层 82 8.1.5 写时复制策略 83 8.1.6 使用共享技术减小镜像体积 83 8.1.7 使用复制技术加快容器启动时间 86 8.1.8 数据卷和存储驱动 90 8.2 如何选择存储驱动 90 8.2.1 存储设备和存储驱动 92 8.2.2 如何存储驱动 92 8.3 AUFS存储驱动 94 8.3.1 AUFS中的镜像 94 8.3.2 AUFS中的容器读写 95 8.3.3 在AUFS中删除文件 95 8.3.4 如何配置AUFS 96 8.3.5 镜像的存储方式 96 8.3.6 容器的存储方式 97 8.3.7 AUFS的性能 99 8.4 Devicemapper存储驱动 99 8.4.1 Devicemapper中的镜像 100 8.4.2 Devicemapper中的读操作 101 8.4.3 Devicemapper中的写操作 102 8.4.4 如何配置Devicemapper 103 8.4.5 在生产环境中配置direct-lvm模式 104 8.4.6 Devicemapper的存储方式 107 8.4.7 动态扩容loop-lvm模式下的thin pool 108 8.4.8 动态扩容direct-lvm模式下的thin pool 110 8.4.9 Devicemapper的性能 110 8.5 Btrfs存储驱动 111 8.5.1 Btrfs中的镜像 112 8.5.2 Btrfs的存储方式 114 8.5.3 Btrfs中的读写 114 8.5.4 如何配置Btrfs 115 8.5.5 Btrfs的性能 116 8.6 ZFS存储驱动 117 8.6.1 ZFS中的镜像 117 8.6.2 ZFS中的读写 118 8.6.3 如何配置ZFS 119 8.6.4 ZFS的性能 121 8.7 Overlay存储驱动 122 8.7.1 Overlay中的镜像 122 8.7.2 Overlay2中的镜像 125 8.7.3 Overlay中的读写 127 8.7.4 如何配置Overlay/Overlay2 127 8.7.5 Overlay的性能 128 8.8 习题 129 第9章 定制Docker Daemon 130 9.1 修改Docker Daemon的三种方式 130 9.1.1 直接启动Docker Daemon 132 9.1.2 修改Docker Daemon启动项 132 9.1.3 自定义Docker Daemon配置文件 135 9.2 仓库相关配置 137 9.2.1 --disable-legacy-registry选项 137 9.2.2 --registry-mirror选项 138 9.2.3 --insecure-registry选项 139 9.3 安全相关配置 139 9.3.1 -p, --pidfile选项 139 9.3.2 -H, --host选项 139 9.3.3 --tls, --tlscacert, --tlscert, --tlskey, --tlsverify选项 141 9.4 日志相关 145 9.4.1 -D,--debug选项 145 9.4.2 --log-level选项 145 9.4.3 --log-driver和--log-opt选项 146 9.5 存储相关配置 148 9.5.1 -g, --graph选项 148 9.5.2 --storage-driver选项 148 9.5.3 --storage-opt选项 149 9.6 网桥相关配置 154 9.6.1 --bip选项 154 9.6.2 --fixed-cidr,--fixed- cidr-v6选项 154 9.6.3 --mtu选项 155 9.6.4 -b, --bridge选项 155 9.7 容器与外部通信 156 9.7.1 --ip-forward选项 156 9.7.2 --iptables选项 156 9.7.3 --ip, --ipv6选项 156 9.8 其他网络配置 157 9.8.1 --default-gateway、--default-gateway-v6选项 157 9.8.2 --dns,--dns-opt,--dns-search选项 158 9.9 execdriver配置 158 9.9.1 --exec-opt选项 158 9.9.2 --exec-root选项 159 9.10 其他配置 159 9.11 习题 159 第10章 如何编写Dockerfile 160 10.1 本地编译镜像 160 10.2 dockerignore文件 162 10.3 Dockerfile格式 163 10.4 Dockerfile指令详解 163 10.4.1 FROM指令 163 10.4.2 MAINTAINER指令 164 10.4.3 RUN指令 164 10.4.4 CMD指令 164 10.4.5 LABEL指令 165 10.4.6 EXPOSE指令 166 10.4.7 ENV指令 166 10.4.8 ADD指令 168 10.4.9 COPY指令 169 10.4.10 ENTRYPOINT指令 170 10.4.11 VOLUME指令 173 10.4.12 USER指令 174 10.4.13 WORKDIR指令 174 10.4.14 ARG指令 175 10.4.15 ONBUILD指令 177 10.4.16 STOPSIGNAL指令 178 10.5 CMD、ENTRYPOINT和RUN的区别 178 10.6 习题 179 第11章 Dockerfile最佳实践 181 11.1 基本原则 181 11.2 Dockerfile指令最佳实践 183 11.2.1 FROM指令最佳实践 183 11.2.2 RUN指令最佳实践 183 11.2.3 CMD指令最佳实践 185 11.2.4 EXPOSE指令最佳实践 186 11.2.5 ENV指令最佳实践 188 11.2.6 ADD和COPY指令最佳实践 189 11.2.7 ENTRYPOINT指令最佳实践 191 11.2.8 VOLUME指令最佳实践 194 11.2.9 UESR指令最佳实践 196 11.2.10 使用gosu工具 196 11.2.11 WORKDIR指令最佳实践 198 11.2.12 ONBUILD指令最佳实践 199 11.3 如何减小镜像体积 199 11.4 一些官方镜像的Dockerfile 205 11.4.1 Golang镜像 205 11.4.2 Perl镜像 208 11.4.3 Hy镜像 209 11.4.4 Rails镜像 210 11.5 习题 211 第12章 使用容器提供服务 212 12.1 使用容器提供数据库服务 212 12.1.1 使用容器提供MySQL 212 12.1.2 使用容器提供MongoDB 215 12.2 如何使用容器提供Web服务 217 12.2.1 使用容器提供Apache HTTP服务 217 12.2.2 使用容器提供Django服务 218 12.2.3 使用容器提供Gitlab服务 219 12.3 如何使用容器提供编程环境 220 12.3.1 使用容器提供Java环境 221 12.3.2 使用容器提供Golang环境 222 12.4 习题 225 第13章 建立私有镜像仓库 226 13.1 镜像仓库配置详解 227 13.2 version选项 231 13.3 log选项 231 13.4 hooks选项 231 13.5 storage选项 232 13.5.1 filesystem选项 233 13.5.2 azure选项 234 13.5.3 gcs选项 234 13.5.4 s3选项 234 13.5.5 swift选项 235 13.5.6 oss选项 236 13.5.7 delete选项 237 13.5.8 cache选项 237 13.5.9 maintenance选项 237 13.5.10 redirect选项 238 13.6 auth选项 238 13.6.1 silly选项 239 13.6.2 token选项 239 13.6.3 htpasswd选项 239 13.7 middleware选项 240 13.8 reporting选项 241 13.8.1 bugsnag选项 241 13.8.2 newrelic选项 241 13.9 http选项 242 13.9.1 tls选项 242 13.9.2 debug选项 243 13.9.3 headers选项 243 13.10 notifications选项 243 13.11 redis选项 244 13.12 health选项 245 13.12.1 storagedriver选项 245 13.12.2 file选项 246 13.12.3 http选项 246 13.12.4 tcp选项 246 13.13 proxy选项 247 13.14 镜像仓库配置实例 247 13.14.1 启动容器数据持久化 247 13.14.2 使用文件系统保存镜像 248 13.14.3 使用对象存储保存镜像 248 13.14.4 通过中间件使用CDN服务 249 13.15 习题 250 第4篇 Docker常见问题 第14章 Docker常见问题 252 14.1 Docker基础问题 252 14.1.1 什么是虚拟化技术 252 14.1.2 虚拟化有哪些分类 252 14.1.3 Docker目前支持哪些操作系统 253 14.1.4 哪种系统最适合运行Docker 253 14.1.5 Docker有什么好处 253 14.1.6 容器化技术是什么时候出现的 253 14.1.7 Docker和虚拟机有什么区别 253 14.1.8 使用Docker容器需要什么基础知识 254 14.1.9 如何学习Docker 254 14.2 Docker高级问题 255 14.2.1 Docker是否安全 255 14.2.2 如何修改已经运行的容器 255 14.2.3 容器有哪些网络模式 255 14.2.4 容器如何进行持久化 256 14.2.5 为什么进入容器,但退出后容器就停止了 256 14.2.6 容器停止了,如何分析原因 256 14.2.7 Link容器是什么意思 256 14.2.8 容器环境变量有什么用途 256 14.2.9 容器中CPU、磁盘IO、网络损耗大吗 257 14.3 镜像相关 257 14.3.1 什么是Dockerfile 257 14.3.2 Dockerfile书写的最佳实践是什么 257 14.3.3 容器运行中Entrypoint和CMD的区别 258 14.3.4 Docker中容器镜像的区别 258 14.3.5 Docker的镜像仓库有哪些 259 14.3.6 如何拥有私有仓库 259 14.4 Docker三剑客 260 14.4.1 什么是Docker Machine 260 14.4.2 什么是Docker Compose 260 14.4.3 什么是Docker Swarm 260 14.5 习题 260 资源截图:
资源名称:docker容器实战:原理、架构与应用 内容简介: 《Docker容器实战:原理、架构与应用》以Docker实战为原则,通过各种应用实例详细介绍Docker基本原理、Docker容器管理、Docker镜像制作、Docker仓库搭建等内容。《Docker容器实战:原理、架构与应用》注重Docker在不同场景的具体应用,专注于实用性和操作性。 《Docker容器实战:原理、架构与应用》共14章。涵盖的主要内容包括云计算简介、Docker的安装、使用Docker、Docker深入解析、容器的网络、容器的数据、镜像仓库、镜像和容器的存储结构、定制Docker Daemon、如何编写Dockerfile、Dockerfile最佳实践、使用容器提供服务、建立私有镜像仓库、Docker常见问题等。 《Docker容器实战:原理、架构与应用》内容丰富,实例典型,实用性强。适合学习Docker的初学者、使用Docker的开发者及系统运维人员,尤其是需要在生产环境定制Docker的开发者和运维人员。 资源目录: 第1篇 Docker基础知识介绍 第1章 云计算简介 2 1.1 虚拟化技术的分类和历史 3 1.1.1 硬件级虚拟化历史 3 1.1.2 操作系统级虚拟化历史 4 1.2 云计算服务模式 4 1.3 Docker介绍 5 1.3.1 Docker主要解决什么问题 6 1.3.2 Docker的历史 6 1.3.3 Docker是什么 6 1.4 Linux快速入门 7 1.4.1 选取什么发行版本 7 1.4.2 使用图形界面还是命令行界面 8 1.4.3 英文还是中文 8 1.4.4 安装Ubuntu 14.04 8 1.4.5 Linux常用工具 11 1.4.6 启用root 用户 12 1.4.7 使用vim 12 1.4.8 配置网络 13 1.4.9 启用SSH Server 13 1.4.10 通过客户端远程连接Linux主机 14 1.4.11 免密码登录Linux主机 15 1.4.12 安装软件 15 1.4.13 公有云主机快速入门 16 1.4.14 购买云主机 17 1.4.15 连接到云主机 19 1.5 习题 21 第2章 Docker的安装 22 2.1 在Ubuntu下安装Docker 22 2.1.1 前置条件 22 2.1.2 更新apt源 23 2.1.3 Ubuntu 14.04特殊处理 24 2.1.4 正式安装 24 2.2 在CentOS下安装 26 2.2.1 前置条件 26 2.2.2 更新yum 26 2.2.3 添加仓库 26 2.2.4 正式安装 26 2.3 通过Ghostcloud进行安装 27 2.3.1 注册Ghostcloud账号 28 2.3.2 接入新主机 28 2.3.3 获取安装脚本 28 2.3.4 验证Docker安装是否成功 30 2.3.5 运行第一个容器 30 2.4 通过官方的安装脚本安装 31 2.5 在非Linux系统下安装Docker 32 2.6 习题 32 第3章 使用Docker 33 3.1 运行hello-world 33 3.2 容器和镜像 35 3.2.1 什么是容器 35 3.2.2 什么是镜像 35 3.2.3 容器和镜像的关系 36 3.3 Docker入门操作 36 3.3.1 查看Docker基本信息 36 3.3.2 下载第一个基础镜像 37 3.3.3 运行一个含shell终端的容器 38 3.3.4 查看容器运行 38 3.3.5 运行长时间容器 38 3.3.6 查看所有容器 39 3.4 习题 40 第2篇 Docker的基本使用 第4章 Docker深入解析 42 4.1 Docker的架构 42 4.2 Docker如何工作 43 4.2.1 Docker Image工作方式 43 4.2.2 Docker Registry工作方式 44 4.2.3 容器工作方式 44 4.2.4 底层的技术 45 4.3 Docker Client和Daemon 46 4.4 通过容器运行Web应用 47 4.4.1 使用国内仓库 48 4.4.2 拉取apache-php镜像 48 4.4.3 运行镜像 48 4.4.4 网页访问 48 4.4.5 修改页面内容 49 4.4.6 持久化容器 50 4.5 镜像制作 50 4.5.1 查看本机镜像 50 4.5.2 获取镜像的三种方式 51 4.5.3 查找DockerHub镜像 51 4.5.4 查找其他仓库镜像 52 4.5.5 push镜像 54 4.5.6 根据Dockerfile编译镜像 55 4.5.7 删除镜像 56 4.6 docker run命令 56 4.6.1 docker run的语法格式 56 4.6.2 前后台运行 57 4.6.3 容器的标识 57 4.6.4 PID设置 58 4.6.5 UTS(--uts)设置 58 4.6.6 IPC(--ipc)设置 59 4.6.7 网络设置 59 4.6.8 重启策略(--restart) 60 4.6.9 Clean up (--rm) 61 4.6.10 CGroups控制 61 4.6.11 特权模式和Capabilities 61 4.6.12 日志驱动(--log-driver) 62 4.6.13 覆盖image的默认参数 62 4.7 习题 63 第5章 容器的网络 64 5.1 容器自带网络 64 5.2 网络详情 65 5.3 用户自定义网络 67 5.3.1 桥接网络 67 5.3.2 Overlay网络 68 5.4 习题 71 第6章 容器的数据 72 6.1 数据卷 72 6.1.1 创建一个数据卷 72 6.1.2 映射一个外部卷 73 6.2 使用数据型容器 73 6.3 备份、还原和迁移数据卷 73 6.4 容器和代码进行关联 74 6.5 习题 74 第7章 镜像仓库 75 7.1 仓库相关的Docker命令 75 7.1.1 登录 75 7.1.2 查找 76 7.1.3 拉取 76 7.1.4 提交 76 7.2 习题 76 第3篇 Docker的高级使用 第8章 镜像和容器的存储结构 78 8.1 镜像、容器和存储驱动的关系 78 8.1.1 镜像和镜像层 78 8.1.2 镜像存储方式 80 8.1.3 一个迁移例子 81 8.1.4 容器和容器层 82 8.1.5 写时复制策略 83 8.1.6 使用共享技术减小镜像体积 83 8.1.7 使用复制技术加快容器启动时间 86 8.1.8 数据卷和存储驱动 90 8.2 如何选择存储驱动 90 8.2.1 存储设备和存储驱动 92 8.2.2 如何存储驱动 92 8.3 AUFS存储驱动 94 8.3.1 AUFS中的镜像 94 8.3.2 AUFS中的容器读写 95 8.3.3 在AUFS中删除文件 95 8.3.4 如何配置AUFS 96 8.3.5 镜像的存储方式 96 8.3.6 容器的存储方式 97 8.3.7 AUFS的性能 99 8.4 Devicemapper存储驱动 99 8.4.1 Devicemapper中的镜像 100 8.4.2 Devicemapper中的读操作 101 8.4.3 Devicemapper中的写操作 102 8.4.4 如何配置Devicemapper 103 8.4.5 在生产环境中配置direct-lvm模式 104 8.4.6 Devicemapper的存储方式 107 8.4.7 动态扩容loop-lvm模式下的thin pool 108 8.4.8 动态扩容direct-lvm模式下的thin pool 110 8.4.9 Devicemapper的性能 110 8.5 Btrfs存储驱动 111 8.5.1 Btrfs中的镜像 112 8.5.2 Btrfs的存储方式 114 8.5.3 Btrfs中的读写 114 8.5.4 如何配置Btrfs 115 8.5.5 Btrfs的性能 116 8.6 ZFS存储驱动 117 8.6.1 ZFS中的镜像 117 8.6.2 ZFS中的读写 118 8.6.3 如何配置ZFS 119 8.6.4 ZFS的性能 121 8.7 Overlay存储驱动 122 8.7.1 Overlay中的镜像 122 8.7.2 Overlay2中的镜像 125 8.7.3 Overlay中的读写 127 8.7.4 如何配置Overlay/Overlay2 127 8.7.5 Overlay的性能 128 8.8 习题 129 第9章 定制Docker Daemon 130 9.1 修改Docker Daemon的三种方式 130 9.1.1 直接启动Docker Daemon 132 9.1.2 修改Docker Daemon启动项 132 9.1.3 自定义Docker Daemon配置文件 135 9.2 仓库相关配置 137 9.2.1 --disable-legacy-registry选项 137 9.2.2 --registry-mirror选项 138 9.2.3 --insecure-registry选项 139 9.3 安全相关配置 139 9.3.1 -p, --pidfile选项 139 9.3.2 -H, --host选项 139 9.3.3 --tls, --tlscacert, --tlscert, --tlskey, --tlsverify选项 141 9.4 日志相关 145 9.4.1 -D,--debug选项 145 9.4.2 --log-level选项 145 9.4.3 --log-driver和--log-opt选项 146 9.5 存储相关配置 148 9.5.1 -g, --graph选项 148 9.5.2 --storage-driver选项 148 9.5.3 --storage-opt选项 149 9.6 网桥相关配置 154 9.6.1 --bip选项 154 9.6.2 --fixed-cidr,--fixed- cidr-v6选项 154 9.6.3 --mtu选项 155 9.6.4 -b, --bridge选项 155 9.7 容器与外部通信 156 9.7.1 --ip-forward选项 156 9.7.2 --iptables选项 156 9.7.3 --ip, --ipv6选项 156 9.8 其他网络配置 157 9.8.1 --default-gateway、--default-gateway-v6选项 157 9.8.2 --dns,--dns-opt,--dns-search选项 158 9.9 execdriver配置 158 9.9.1 --exec-opt选项 158 9.9.2 --exec-root选项 159 9.10 其他配置 159 9.11 习题 159 第10章 如何编写Dockerfile 160 10.1 本地编译镜像 160 10.2 dockerignore文件 162 10.3 Dockerfile格式 163 10.4 Dockerfile指令详解 163 10.4.1 FROM指令 163 10.4.2 MAINTAINER指令 164 10.4.3 RUN指令 164 10.4.4 CMD指令 164 10.4.5 LABEL指令 165 10.4.6 EXPOSE指令 166 10.4.7 ENV指令 166 10.4.8 ADD指令 168 10.4.9 COPY指令 169 10.4.10 ENTRYPOINT指令 170 10.4.11 VOLUME指令 173 10.4.12 USER指令 174 10.4.13 WORKDIR指令 174 10.4.14 ARG指令 175 10.4.15 ONBUILD指令 177 10.4.16 STOPSIGNAL指令 178 10.5 CMD、ENTRYPOINT和RUN的区别 178 10.6 习题 179 第11章 Dockerfile最佳实践 181 11.1 基本原则 181 11.2 Dockerfile指令最佳实践 183 11.2.1 FROM指令最佳实践 183 11.2.2 RUN指令最佳实践 183 11.2.3 CMD指令最佳实践 185 11.2.4 EXPOSE指令最佳实践 186 11.2.5 ENV指令最佳实践 188 11.2.6 ADD和COPY指令最佳实践 189 11.2.7 ENTRYPOINT指令最佳实践 191 11.2.8 VOLUME指令最佳实践 194 11.2.9 UESR指令最佳实践 196 11.2.10 使用gosu工具 196 11.2.11 WORKDIR指令最佳实践 198 11.2.12 ONBUILD指令最佳实践 199 11.3 如何减小镜像体积 199 11.4 一些官方镜像的Dockerfile 205 11.4.1 Golang镜像 205 11.4.2 Perl镜像 208 11.4.3 Hy镜像 209 11.4.4 Rails镜像 210 11.5 习题 211 第12章 使用容器提供服务 212 12.1 使用容器提供数据库服务 212 12.1.1 使用容器提供MySQL 212 12.1.2 使用容器提供MongoDB 215 12.2 如何使用容器提供Web服务 217 12.2.1 使用容器提供Apache HTTP服务 217 12.2.2 使用容器提供Django服务 218 12.2.3 使用容器提供Gitlab服务 219 12.3 如何使用容器提供编程环境 220 12.3.1 使用容器提供Java环境 221 12.3.2 使用容器提供Golang环境 222 12.4 习题 225 第13章 建立私有镜像仓库 226 13.1 镜像仓库配置详解 227 13.2 version选项 231 13.3 log选项 231 13.4 hooks选项 231 13.5 storage选项 232 13.5.1 filesystem选项 233 13.5.2 azure选项 234 13.5.3 gcs选项 234 13.5.4 s3选项 234 13.5.5 swift选项 235 13.5.6 oss选项 236 13.5.7 delete选项 237 13.5.8 cache选项 237 13.5.9 maintenance选项 237 13.5.10 redirect选项 238 13.6 auth选项 238 13.6.1 silly选项 239 13.6.2 token选项 239 13.6.3 htpasswd选项 239 13.7 middleware选项 240 13.8 reporting选项 241 13.8.1 bugsnag选项 241 13.8.2 newrelic选项 241 13.9 http选项 242 13.9.1 tls选项 242 13.9.2 debug选项 243 13.9.3 headers选项 243 13.10 notifications选项 243 13.11 redis选项 244 13.12 health选项 245 13.12.1 storagedriver选项 245 13.12.2 file选项 246 13.12.3 http选项 246 13.12.4 tcp选项 246 13.13 proxy选项 247 13.14 镜像仓库配置实例 247 13.14.1 启动容器数据持久化 247 13.14.2 使用文件系统保存镜像 248 13.14.3 使用对象存储保存镜像 248 13.14.4 通过中间件使用CDN服务 249 13.15 习题 250 第4篇 Docker常见问题 第14章 Docker常见问题 252 14.1 Docker基础问题 252 14.1.1 什么是虚拟化技术 252 14.1.2 虚拟化有哪些分类 252 14.1.3 Docker目前支持哪些操作系统 253 14.1.4 哪种系统最适合运行Docker 253 14.1.5 Docker有什么好处 253 14.1.6 容器化技术是什么时候出现的 253 14.1.7 Docker和虚拟机有什么区别 253 14.1.8 使用Docker容器需要什么基础知识 254 14.1.9 如何学习Docker 254 14.2 Docker高级问题 255 14.2.1 Docker是否安全 255 14.2.2 如何修改已经运行的容器 255 14.2.3 容器有哪些网络模式 255 14.2.4 容器如何进行持久化 256 14.2.5 为什么进入容器,但退出后容器就停止了 256 14.2.6 容器停止了,如何分析原因 256 14.2.7 Link容器是什么意思 256 14.2.8 容器环境变量有什么用途 256 14.2.9 容器中CPU、磁盘IO、网络损耗大吗 257 14.3 镜像相关 257 14.3.1 什么是Dockerfile 257 14.3.2 Dockerfile书写的最佳实践是什么 257 14.3.3 容器运行中Entrypoint和CMD的区别 258 14.3.4 Docker中容器镜像的区别 258 14.3.5 Docker的镜像仓库有哪些 259 14.3.6 如何拥有私有仓库 259 14.4 Docker三剑客 260 14.4.1 什么是Docker Machine 260 14.4.2 什么是Docker Compose 260 14.4.3 什么是Docker Swarm 260 14.5 习题 260 资源截图:
历史检测记录
添加微信,反馈问题
微信及时反馈问题,方便沟通,请备注 ❤️