课程 在 Docker 技能树

Docker 入门指南

本课程旨在帮助您快速上手 Docker。我们将涵盖 Docker 的基础知识,包括其架构、组件,以及如何使用它来构建和运行容器。

DockerDevOps

💡 本教程由 AI 辅助翻译自英文原版。如需查看原文,您可以 切换至英文原版

简介

通过 16 个动手练习建立实用的 Docker 基础,学习路线从第一个容器逐步延伸到自定义镜像、网络和持久化存储。其中 9 个引导式实验会结合场景讲解操作流程,7 个挑战则要求你在较少步骤提示的情况下复现关键操作。

你将主要在单台 Ubuntu 主机上使用 Docker CLI。课程把日常容器生命周期管理与 Dockerfile 构建、网络隔离和服务发现、volume 管理结合起来,帮助你具备用 Docker 打包并运行小型应用的综合基础。

你将学到什么

完成课程后,你将能够:

  • 解释 Docker Engine、镜像、容器和 Docker Hub 的作用,并运行和检查第一个容器。
  • 拉取、搜索、列出、标记、保存、加载和删除镜像,并理解 tag 与镜像 layer。
  • 以前台交互或后台方式运行容器,管理生命周期、日志、inspect、exec 和文件复制操作。
  • 使用 docker run 配置名称、端口映射、绑定挂载、环境变量、资源限制、重启策略、网络、工作目录和命令。
  • 编写 Dockerfile 构建自定义镜像,复制应用内容、安装依赖、设置环境值并定义 ENTRYPOINT 或 CMD 行为。
  • 在 Flask 和 Go 示例中使用多阶段构建、.dockerignore、非 root USER、HEALTHCHECK、构建 ARG 与镜像标签。
  • 创建和检查 bridge 网络,让容器连接一个或多个网络,测试隔离与服务发现,并使用 host 或 none 网络模式。
  • 创建命名 volume,持久化和共享数据,将 volume 挂载到容器,并进行基础归档备份与恢复。

本课程适合谁

本课程适合希望在学习多容器工具或编排之前熟练掌握 Docker 命令的开发者、系统管理学习者和 DevOps 初学者。课程从基础概念开始,但会逐步加入独立挑战以及超出最简单容器运行的 Dockerfile 技巧。

前置要求: 无需 Docker 经验。你应能使用 Linux 终端、编辑文本文件,并理解端口、进程、文件和目录等基本概念。熟悉简单 Shell 命令会让挑战更容易完成。

学习环境: 所有练习均在平台提供且支持 Docker 的 Ubuntu 22.04 环境中运行。大多数内容使用桌面终端,镜像构建部分使用浏览器代码编辑器;Docker 权限和项目文件均已在实验中准备好。

常见问题

课程全程都有引导,还是需要独立解决任务?

两种形式都有:9 个引导式实验用于讲解和演示概念,7 个挑战只提供目标要求和较少的过程提示。挑战安排在相关教学内容之后,可用于检验你能否独立应用流程。

需要在自己的电脑上安装 Docker 吗?

不需要。平台提供的 Ubuntu 环境已经可以使用 Docker,因此无需修改个人电脑。

需要 Docker Hub 账号吗?

不需要。你会浏览 Docker Hub,并通过 pull 和 search 命令使用公开镜像,但课程不要求登录、推送镜像或向 registry 发布内容。

课程覆盖 Docker Compose、Swarm 或 Kubernetes 吗?

不覆盖。课程专注于单机上的 Dockerfile 与 Docker CLI 操作,包括通过 Docker 网络连接多个容器;Compose 文件和容器编排不在课程范围内。

教师

labby
Labby
Labby is the LabEx teacher.