Docker 简介与操作系统需求
了解 Docker 的必要性及其应用场景。
本课程解答了一些基本问题,例如:
- 什么是 Docker?
- 为什么它成为如此流行的技术?
- 我们为何以及如何使用它?
近年来,Docker 技术对 IT 行业产生了深远影响。自 2013 年发布以来,它在短短几年内便获得了广泛普及。
操作系统的需求
运行程序不可避免地需要操作系统(OS)。操作系统在高级程序与底层硬件之间搭建起桥梁。例如,能够通过鼠标移动光标,正是因为后台有操作系统在运行。同样,按下键盘按键在屏幕上输入文字,也是因为操作系统提供了底层功能支持。
简而言之,如果我们拥有内存(RAM)、中央处理器(CPU)、硬盘驱动器(HDD)或其他硬件设备,只有通过运行某个程序才能使用它们。而要运行任何程序,就必须依赖操作系统。
因此,要运行任何程序或使用任何硬件设备,都必须先安装操作系统。之后还需启动操作系统并登录系统才能开始工作。这些步骤耗时较长。
你可能会问:既然操作系统通常只安装一次,或者在系统崩溃时也只需再安装几次,那它的安装速度真的重要吗?但这里我们是从个人角度考虑的。那么对于一个组织来说情况又如何呢?
场景一:测试部门
在 IT 行业中,有许多领域需要频繁安装操作系统、在系统上运行程序,然后终止。这种循环几乎每天都在重复,尤其是在测试部门。在这种情况下,大量时间会被浪费,公司每天可能需为员工承担约 30 分钟的停机时间,相当于每月约 15 小时的服务中断。
这将导致公司面临时间上的损失。更严重的是,他们为此付出的成本却几乎为零。在当今激烈的竞争环境中,哪怕是一点点延迟也可能带来巨大损失。项目推进越快,新技术推出越迅速,就越具优势。因此,这类延迟是无法接受的。
场景二:运行程序
假设我们想开发一个程序,流程可能如下:
- 下载一些模块和包,以支持程序运行。
- 测试并调试程序。
- 修复错误,再下载更多包。
这个过程持续进行,直到项目能无错误地成功运行。
一段时间后,如果想在另一台设备上运行相同的程序,就必须重新下载完全相同的包和模块。
如果需要在其他设备上展示程序正常运行,也必须重复完成同样的配置。
像 Meta 和 Google 这样的公司,其数百万台服务器运行在相同环境中。一旦某台服务器宕机,就需要在新服务器上重新配置相同的环境,而新服务器可能具有不同的软硬件规格。这一过程非常耗时,甚至可能导致客户流失。
这只是部分可能出现的问题。试想,如果有人告诉你,有一种工具可以让你在几秒钟内启动操作系统,这听起来可能难以置信。然而,Docker 正能做到这一点。整个安装、启动和登录系统的流程可在不到一秒内完成。此外,我们还可以通过 Docker 镜像轻松复制所需的工作环境。关于镜像的更多内容,将在后续章节中详细介绍。
启动操作系统的不同方式
启动操作系统的途径多种多样:
- 在物理硬件上直接启动(裸金属)。
- 在虚拟机中启动操作系统。
- 在云平台上启动操作系统。
- 使用容器(容器化)启动操作系统。
Docker 基于容器的概念。接下来的课程将深入讲解容器的具体内容。