目 录
第1章 容器化简介 1
1.1 什么是Docker 1
1.1.1 Docker公司 1
1.1.2 软件技术层面的Docker 2
1.1.3 理解Docker所解决的问题 2
1.2 容器化历程 3
1.2.1 1979年:chroot 3
1.2.2 2000年:FreeBSD jail 4
1.2.3 2005年:OpenVZ 4
1.2.4 2006年:cgroups 4
1.2.5 2008年:LXC 5
1.3 理解容器和虚拟机之间的区别 5
1.4 本章小结 6
第2章 Docker入门 7
2.1 安装Docker 7
2.1.1 在Windows上安装Docker 8
2.1.2 在macOS上安装Docker 10
2.1.3 在Linux上安装Docker 11
2.1.4 理解Docker相关术语 13
2.1.5 Docker实践 19
2.2 本章小结 31
第3章 构建Python应用程序 33
3.1 项目介绍 33
3.1.1 设置Telegram Messenger 34
3.1.2 BotFather:Telegram的机器人创建接口 35
3.1.3 newsbot:Python应用程序 38
3.2 本章小结 42
第4章 理解Dockerfile 43
4.1 Dockerfile 43
4.1.1 构建上下文 44
4.1.2 dockerignore 45
4.1.3 使用docker build进行构建 46
4.1.4 Dockerfile指令 48
4.1.5 编写Dockerfile的原则和建议 65
4.1.6 多阶段构建 66
4.1.7 Dockerfile练习 66
4.2 本章小结 74
第5章 理解Docker卷 75
5.1 数据持久化 75
5.1.1 Docker容器内部数据丢失的例子 76
5.1.2 Docker卷练习 88
5.2 本章小结 98
第6章 理解Docker网络 99
6.1 为何需要容器网络 99
6.1.1 默认的Docker网络驱动 100
6.1.2 使用Docker网络 102
6.2 Docker网络练习 117
6.3 本章小结 123
第7章 理解Docker Compose 125
7.1 Docker Compose概述 125
7.1.1 安装Docker Compose 126
7.1.2 Docker Compose基础 127
7.1.3 Docker Compose文件参考 132
7.1.4 Docker Compose CLI参考 137
7.1.5 Docker Compose练习 138
7.2 本章小结 150