课程目标
了解 Docker 的重要性以及开发本课程的初衷。
前言
技术发展日新月异,让人难以跟上节奏。作为工程师,我们别无选择,只能顺应时代变化,才能保持市场竞争力和就业能力。
科技公司以快速采纳最新、最前沿的技术而闻名。正因如此,前端和后端工程师的学习路线每年都在不断扩展。
掌握像 Docker 这样的容器技术,无论你是后端还是前端工程师,都能显著提升你的职业竞争力。
本课程并非关于 Docker 的全面详尽指南,而是旨在简化 Docker 容器的使用过程。
适合谁来学习这门课程?
本课程基于以下假设面向目标受众:
- 你是一名开发者,已经开发过应用,或即将开始构建新应用。
- 你曾亲身经历过在不同环境中让软件正常运行所带来的困扰。
- 你已使用过虚拟机,但听说过容器技术,并希望弄清楚它们是如何工作的。
- 你希望利用 Docker 容器来加速软件开发,或推动团队采用容器化技术。
- 你正准备进入微服务领域,正在寻找一个合适的入门起点。
我们将学习的内容概览
以下是本课程的主要学习内容简述:
初识 Docker
要理解一项新技术的价值,首先要了解没有它时的状况。开发应用程序的方式多种多样:可以在物理服务器上用 Notepad++ 编写代码,再通过 FTP 客户端上传到远程服务器;或者在虚拟机中进行开发。
无论采用哪种方式,最终目标都是一致的。那么,为什么 Docker 容器会引发如此大的关注?本章将探讨容器技术(如 Docker)试图解决的核心问题。
此外,我们还将深入理解“容器”到底是什么,学习容器的优势,以及除 Docker 外其他主流的容器平台。
安装 Docker
这是真正开始动手实践的环节。如果你的开发环境已经配置完成,可以跳过本节。否则,本节将指导你在 Windows、macOS 或 Linux 系统上正确安装和配置 Docker。
构建并发布 Docker 镜像至镜像仓库
我们已经了解了 Docker 容器,但如何实际使用它们?如何在日常开发中高效利用 Docker?这正是本节的重点。我们将学习如何从 Dockerfile 构建镜像,优化 Dockerfile,提升开发与镜像发布效率,让镜像更易于被他人复用。
容器化已有应用
在前一节掌握了镜像构建与发布的基础上,本节将实际操作,将现有的多语言应用(如 Python 和 Node.js)进行容器化改造。同时,我们将掌握通用技巧和最佳实践,无论应用使用何种编程语言,都能成功实现容器化,并学会组合多个容器化应用。
保障 Docker 使用安全
在讨论软件时,安全始终是不可忽视的重要议题。安全与应用开发同等重要,绝不能事后补救。本节将介绍在使用 Docker 容器时应遵循的安全最佳实践。
总而言之,你将学到以下内容:
- 容器技术(如 Docker)所解决的实际问题
- 对容器的深入理解
- 如何在本地环境中搭建 Docker 环境
- 如何构建 Docker 镜像
- 如何优化 Dockerfile
- 如何发布 Docker 镜像
- 如何对现有应用进行容器化
- 使用 Docker 的最佳实践
- 使用 Docker 时的安全规范
学习目标总结
Docker 不仅仅是一个普通的开发工具,它是一场变革,将彻底改变我们的开发流程。无论你是开发者、数据科学家,还是机器学习工程师,Docker 都能简化软件的开发与交付过程。它通过帮助我们将应用构建为可在任何地方运行的容器,将软件交付提升到全新水平。本课程是你开启 Docker 之旅的最佳起点。