Docker Notes
Docker 课程学习笔记
课程链接
- 课程链接:Docker 系统性入门+实践 - 慕课网
- 课程文档:Docker Tips (Docker 笔记) — Docker Tips
- 代码仓库:xiaopeng163/docker.tips: Docker notes
笔记目录
第 1 章 Docker 的安装和介绍
Docker 和容器技术介绍,手把手教大家如何在 Windows,Mac,Linux 系统里安装 Docker。
- 容器技术介绍 [[docker-intro]]
- Docker 的安装介绍 [[docker-install-qa]]
- 在 Windows 上安装 Docker [[windows-setup]]
- 在 Mac 系统上安装 Docker [[mac-setup]]
- 在 Linux 系统上安装 Docker [[linux-setup]]
第 2 章 容器快速上手
快速熟悉 Docker 命令行的使用,基本掌握容器的基本操作,初步体会容器,镜像和虚拟机的差别。
- 认识一下 docker 命令行 [[docker-cli-intro]]
- 镜像和容器 [[image_vs_container]]
- 创建我们第一个容器 [[create-first-container]]
- 命令行小技巧之批量操作 [[container-cli-tips]]
- 容器的 attached 和 detached 模式 [[container-mode]]
- 容器的交互式模式 [[docker-shell]]
- windows 是如何运行 docker engine 的 [[windows-docker-engine]]
- 容器和虚拟机 [[container-vs-vm]]
- 创建容器时背后到底发生了什么 [[docker-container-run-happend]]
第 3 章 镜像的创建管理和发布
介绍镜像获取的三大主要方式,初步了解 Dockerfile 和镜像的构建和分享。
- 镜像的获取方式 [[get-image]]
- 镜像的 registry 介绍 [[registry-introduction]]
- 镜像的获取查看和删除 [[docker-image-basic]]
- Docker 镜像的导入导出 [[image-save-load]]
- Dockerfile 的介绍 [[dockerfile-intro]]
- 镜像的构建和分享 [[image-build-push]]
- 通过 commit 创建镜像 [[container-commit]]
- 聊聊 scratch 这个镜像 [[scratch-image]]
第 4 章 Dockerfile 完全指南
通过示例结合最全的 Dockerfile 语法讲解,完全掌握 Dockerfile 语法和重要的最佳实践。
- 如何选择基础镜像 [[base-image]]
- 通过 RUN 执行指令 [[run-cmd]]
- 文件的复制和目录操作 [[add-copy]]
- 构建参数和环境变量 [[arg-env]]
- 容器启动命令 CMD [[cmd]]
- 容器启动命令 ENTRYPOINT [[entrypoint]]
- 一起构建一个 Python Flask 镜像 [[python-flask]]
- Dockerfile 技巧 - 合理使用缓存
- Dockerfile 技巧 - dockerignore
- Dockerfile 技巧 - 多阶段构建
- Dockerfile 技巧 - 尽量使用非 root 用户
第 5 章 Docker 的存储
数据的持久化如何实现,Volume 有哪些类型和使用场景。
- 数据持久化之 Data Volume
- Data Volume 练习之 MySQL
- 数据持久化之 Bind Mount
- Bind Mount 练习之 Docker 开发环境
- 机器之间共享数据
第 6 章 Docker 的网络
网络命令空间,端口映射,网络地址转换,路由等概念会在这一章详细的讲解给大家。
- 网络基础知识回顾
- 网络常用命令
- 容器网络涉及到哪些问题
- 容器间通信之 bridge 模式
- 容器对外通信之 bridge 模式
- 网络知识补充 NAT
- 创建和使用自定义 bridge(上)
- 创建和使用自定义 bridge(下)
- 容器的端口转发
- 端口转发和 Dockerfile
- host 网络详解
- Linux 网络命令空间
- 多容器应用的部署练习
第 7 章 Docker compose
Docker compose 是复杂应用在单机环境下编排的必备工具,本章会通过具体的应用部署演示,覆盖 docker compose 的基本语法和命令行的使用。
- docker-compose 是什么
- docker-compose 的安装
- compose 文件的结构和版本
- docker-compose 命令行基本使用
- docker-compose 镜像构建和拉取
- docker-compose 服务更新
- docker-compose 网络(上)
- docker-compose 网络(下)
- docker-compose 水平扩展和负载均衡
- docker-compose 环境变量
- 服务依赖和健康检查(上)
- 服务依赖和健康检查(下)
- docker-compose 投票 app 练习
第 8 章 Docker swarm
作为集群的编排工具,docker swarm 虽然不如 k8s 流行,但是万变不离其宗,掌握其基本原理和使用将大大降低大家学习其它编排工具的难度。
- docker swarm 介绍
- swarm 单节点快速上手
- swarm 单节点 service 初体验
- swarm 三节点环境的搭建
- swarm 三节点 service 再体验
- swarm 的 overlay 网络初体验
- swarm 的 overlay 网络详解
- swarm 的 ingress 网络详解(上)
- swarm 的 ingress 网络详解(下)
- swarm 内部的负载均衡
- 部署多 service 应用
- stack 部署多 service 应用
- 在 swarm 中使用 secret
- swarm 使用本地 volume
- swarm 练习之投票 app
第 9 章 Docker vs podman
Podman 是 docker 的最有力竞争者,这一章将带领大家快速入门 podman,看看 podman 和 docker 有什么异同之处和高下之分。
- Podman 是什么
- Podman 的安装和快速上手
- Docker vs Podman 实际操作看不同
- Podman 中 pod 的基本操作
- Podman 后续学习
第 10 章 Docker 的多架构支持
随着苹果 M1 芯片的快速发展和普集,arm 架构开始进入更多开发者的视野,docker 是如何支持多 CPU 架构的?以及我们如何发布支持多 CPU 架构的容器镜像呢?这一章将向您解答。
- ARM 环境的 Docker 演示
- docker buildx 命令构建多架构镜像
第 11 章 Git 和容器——CI/CD
这一章我们会关注在应用的部署和运维中,在持续集成和持续部署中结合版本管理和容器技术,同时也会快速的介绍一些自动化运维和监控工具。
- Dockerhub 镜像构建的自动化
- GitHub Actions 简介
- GitHub Actions Hello World
- GitHub Actions 进行镜像的构建和提交
- GitHub Actions 实现 buildx
- 改造一下 buildx workflow
- 通过 GitHub Actions 部署在线课程文档
第 12 章 容器安全
安全是个大问题,如何确保在生产环境中安全的使用容器呢?本章会为您解开。
- Docker 运行环境检查
- 代码和镜像的漏洞扫描
- 容器运行监控
Copyright © 2021 - 2022 JaimeZeng. All Rights Reserved. Powered by foam-template-gatsby-kb.