为你推荐
前言
第1章 走进Docker
1.1 主流的互联网公司均在使用Docker
1.2 什么是Docker
1.3 容器简史
1.4 打消偏见,迎接Docker
1.5 Docker和虚拟机
1.6 Docker的三个基本概念
1.6.1 镜像:一个特殊的文件系统
1.6.2 容器:镜像运行时的实体
1.6.3 仓库:集中存放镜像文件的地方
1.7 Docker版本概述
第2章 Docker的市场趋势和主要应用场景
2.1 Docker的市场趋势
2.2 Docker的主要应用场景
2.2.1 简化配置,无须处理复杂的环境依赖关系
2.2.2 搭建轻量、私有的PaaS环境、标准化开发、测试和生产环境
2.2.3 简化和标准化代码流水线,助力敏捷开发和DevOps实践
2.2.4 隔离应用
2.2.5 整合服务器资源
2.2.6 现代应用
2.2.7 调试能力
2.2.8 快速部署
2.2.9 混合云应用、跨环境应用、可移植应用
2.2.10 物联网和边缘计算
第3章 安装和运行
3.1 Windows 10下的安装
3.1.1 配置Docker本地环境
3.1.2 运行一个简单的demo
3.2 Ubuntu下的安装
3.2.1 了解Ubuntu
3.2.2 使用Hyper-V快速安装Ubuntu
3.2.3 配置外网
3.2.4 使用SSH远程Ubuntu
3.2.5 安装Docker
3.3 CentOS下的安装
3.3.1 了解CentOS
3.3.2 使用CentOS 7安装Docker
3.4 基于树莓派搭建个人网盘
3.4.1 什么是树莓派
3.4.2 开启SSH
3.4.3 安装Docker
3.4.4 基于树莓派的一行命令搭建个人网盘
第4章 Docker命令基础知识
4.1 登录
4.1.1 OPTIONS说明
4.1.2 登录Docker Hub
4.1.3 登录到腾讯云镜像仓库
4.2 拉取镜像
4.2.1 OPTIONS说明
4.2.2 从Docker Hub拉取镜像
4.2.3 从腾讯云镜像仓库拉取镜像
4.3 列出本地镜像
4.3.1 OPTIONS说明
4.3.2 按名称和标签列出镜像
4.3.3 筛选
4.4 运行镜像
4.4.1 OPTIONS说明
4.4.2 简单运行
4.5 列出容器
4.5.1 OPTIONS说明
4.5.2 查看正在运行的容器
4.5.3 显示正在运行和已停止的容器
4.5.4 筛选
4.5.5 根据指定模板输出
4.6 查看镜像详情
4.7 删除镜像
4.7.1 OPTIONS说明
4.7.2 批量删除
4.8 清理未使用的镜像
4.9 磁盘占用分析
4.10 删除容器
4.10.1 OPTIONS说明
4.10.2 停止容器再删除
4.10.3 强制删除正在运行的容器
4.10.4 删除所有已停止的容器
4.11 镜像构建
4.11.1 OPTIONS说明
4.11.2 简单构建
4.12 镜像历史
4.12.1 OPTIONS说明
4.12.2 查看镜像历史
4.12.3 格式化输出
4.13 修改镜像名称和标签
4.14 镜像推送
4.14.1 推送到Docker Hub
4.14.2 推送到腾讯云镜像仓库
4.15 使用Kitematic来管理Docker容器
第5章 Docker持续开发工作流
5.1 基于Docker容器的内部循环开发工作流
5.1.1 开发
5.1.2 编写Dockerfile
5.1.3 创建自定义镜像
5.1.4 定义docker-compose
5.1.5 启动Docker应用
5.1.6 测试
5.1.7 部署或继续开发
5.2 Visual Studio和Docker
5.2.1 使用VS自动生成工程的Dockerfile文件
5.2.2 VS支持的容器业务协调程序
5.2.3 使用VS发布镜像
5.3 使用Visual Studio Code玩转Docker
5.3.1 官方扩展插件Docker
5.3.2 Docker Compose扩展插件
第6章 Docker应用开发之旅
6.1 使用.NET Core开发云原生应用
6.1.1 什么是“云原生”
6.1.2 .NET Core简介
6.1.3 官方镜像
6.1.4 Kestrel
6.1.5 按环境加载配置
6.1.6 查看和设置容器的环境变量
6.1.7 ASP.NET Core内置的日志记录提供程序
6.1.8 编写一个简单的Demo输出日志
6.1.9 使用“docker logs”查看容器日志
6.1.10 使用“docker stats”查看容器资源使用
6.1.11 如何解决容器应用的时区问题
6.2 使用Docker搭建Java开发环境
6.2.1 官方镜像
6.2.2 使用Docker搭建Java开发环境
6.2.3 Docker资源限制
6.2.4 防止Java容器应用被杀
6.3 使用Go推送钉钉消息
6.3.1 Go的优势
6.3.2 官方镜像
6.3.3 使用Go推送钉钉消息
6.4 使用Python实现简单爬虫
6.4.1 关于Python
6.4.2 官方镜像
6.4.3 使用Python抓取博客列表
6.5 使用PHP搭建个人博客站点
6.5.1 官方镜像
6.5.2 编写简单的“Hello world”
6.5.3 使用WordPress镜像搭建个人博客站点
6.5.4 修改PHP的文件上传大小限制
6.6 使用Node.js搭建团队技术文档站点
6.6.1 官方镜像
6.6.2 编写一个简单的Web服务器
6.6.3 使用Hexo搭建团队技术文档站点
第7章 数据库容器化
7.1 什么是数据库
7.2 关系型数据库和非关系型数据库对比
7.3 主流的数据库
7.4 数据库容器化
7.5 SQL Server容器化
7.5.1 镜像说明
7.5.2 运行SQL Server容器镜像
7.5.3 管理SQL Server
7.6 如何持久保存数据
7.6.1 方式一:使用主机目录
7.6.2 方式二:使用数据卷
7.7 MongoDB容器化
7.7.1 适用场景
7.7.2 不适用场景
7.7.3 镜像说明
7.7.4 运行MongoDB容器镜像
7.7.5 管理MongoDB
7.8 Redis容器化
7.8.1 优势
7.8.2 运行Redis镜像
7.8.3 使用redis-cli
7.8.4 使用Redis Desktop Manager管理Redis
7.8.5 既好又快地实现排行榜
7.9 MySQL容器化
7.9.1 镜像说明
7.9.2 运行MySQL容器镜像
7.9.3 管理MySQL
第8章 搭建Kubernetes集群
8.1 Docker+Kubernetes已成为云计算的主流
8.1.1 什么是Kubernetes
8.1.2 Kubernetes正在塑造应用程序开发和管理的未来
8.2 Kubernetes主体架构
8.2.1 主要核心组件
8.2.2 基本概念
8.3 使用Minikube部署本地Kubernetes集群
8.3.1 什么是Kubernetes集群
8.3.2 使用Minikube创建本地Kubernetes实验环境
8.4 使用kubectl管理Kubernetes集群
8.4.1 概述
8.4.2 语法
8.4.3 主要命令说明
8.4.4 资源类型说明
8.4.5 命令标志说明
8.4.6 格式化输出
8.5 使用kubeadm创建集群
8.5.1 kubeadm概述
8.5.2 kubelet概述
8.5.3 定义集群部署目标和规划
8.5.4 开始部署
8.5.5 主节点部署
8.5.6 工作节点部署
8.5.7 安装仪表盘
8.6 集群故障处理
8.6.1 健康状态检查——初诊
8.6.2 进一步诊断分析——听诊三板斧
8.6.3 容器调测
8.6.4 对症下药
8.6.5 部分常见问题处理
8.6.6 小结
第9章 将应用部署到Kubernetes集群
9.1 使用kubectl部署应用
9.1.1 kubectl部署流程
9.1.2 部署一个简单的Demo网站
9.2 应用伸缩和回滚
9.2.1 使用“kubectl scale”命令来伸缩应用
9.2.2 使用“kubectl autoscale”命令来自动伸缩应用
9.2.3 使用“kubectl run”命令快速运行应用
9.2.4 使用“kubectl set”命令更新应用
9.2.5 使用“kubectl rollout”命令回滚应用
9.3 通过Service访问应用
9.3.1 通过Pod IP访问应用
9.3.2 通过ClusterIP Service在集群内部访问
9.3.3 通过NodePort Service在外部访问集群应用
9.3.4 通过LoadBalancer Service在外部访问集群应用
9.3.5 Microsoft SQL Server数据库实战
9.4 使用Ingress负载分发微服务
9.4.1 Demo规划
9.4.2 准备Demo并完成部署
9.4.3 创建部署资源
9.4.4 创建服务资源
9.4.5 创建Ingress资源并配置转发规则
9.5 利用Helm简化Kubernetes应用部署
9.5.1 Helm基础
9.5.2 安装Helm
9.5.3 使用Visual Studio 2019为Helm编写一个简单的应用
9.5.4 定义charts
9.5.5 使用Helm部署Demo
9.5.6 Helm常用操作命令
第10章 将应用托管到云端
10.1 什么是云计算
10.1.1 为什么要上云
10.1.2 云计算的三种部署方式
10.1.3 云服务的类型
10.2 Docker+k8s是上云的不二选择
10.2.1 上云的问题
10.2.2 利用Docker+k8s解决传统应用上云问题
10.3 主流云计算容器服务介绍
10.3.1 亚马逊AWS
10.3.2 微软Azure
10.3.3 阿里云
10.3.4 腾讯云
10.4 自建还是托管
10.4.1 自建容器服务存在的问题
10.4.2 云端容器服务的优势
10.5 一般应用服务部署流程
10.5.1 创建集群和节点
10.5.2 创建命名空间和镜像
10.5.3 创建服务
10.5.4 配置镜像触发器
10.5.5 推送镜像
10.6 如何节约云端成本
10.6.1 无须过度购买配置,尽量使用自动扩展
10.6.2 最大化地利用服务器资源
10.6.3 使用Ingress节约负载均衡资源
10.6.4 使用NFS盘节约存储成本
10.7 问题处理
10.7.1 镜像拉取问题
10.7.2 绑定云硬盘之后Pod的调度问题
10.7.3 远程登录
10.7.4 利用日志来排查问题
第11章 容器化后DevOps之旅
11.1 DevOps基础知识
11.1.1 什么是DevOps
11.1.2 为什么需要DevOps
11.1.3 DevOps对应用程序发布的影响
11.1.4 如何实施DevOps
11.2 Docker与持续集成和持续部署
11.2.1 Docker与持续集成和持续部署
11.2.2 参考流程
11.3 使用Azure DevOps完成CI/CD
11.3.1 适用于容器的CI/CD流程
11.3.2 使用Azure DevOps配置一个简单的CI/CD流程
11.4 使用Tencent Hub完成CI/CD
11.4.1 关于Tencent Hub
11.4.2 使用Tencent Hub配置一个简单的CI流程
11.4.3 直接使用容器服务的镜像构建功能
11.5 使用内部管理工具完成CI/CD流程
11.5.1 一个简单的CI/CD流程
11.5.2 关于TeamCity
11.5.3 运行TeamCity Server
11.5.4 运行TeamCity Agent
11.5.5 连接和配置Agent
11.5.6 创建项目以及配置CI
11.5.7 使用Jenkins完成CI/CD
买过这本书的人还买过
读了这本书的人还在读
同类图书排行榜