Docker于2013 年末推出,与 Web 应用程序开发人员使用的其他一些技术相比,这不算是很久以前的事了。然而,它现在已安装在数千台服务器和虚拟机上,数百万个应用程序依赖它运行。
通过今天的文章,我们将了解 Docker 为何在开发人员中如此成功,我们还将了解如何在自己的VPS上安装它。
Docker有什么用?
Docker 是使用操作系统级虚拟化来创建子系统的工具集合。容器充当隔离环境,拥有自己的 CPU、内存和网络资源。
部署容器时,您可以从一系列软件包 (称为镜像)中进行选择,以便立即安装并开始使用。有数百个可用的镜像,您可以创建自己的镜像来满足您的特定需求。
您可以在运行Linux、macOS和Windows 的物理服务器和虚拟机上部署 Docker。 该项目最初以开源软件的形式发布,并且仍然完全免费使用。 它的功能足以满足大多数用例的需求。
不过,如果项目需要额外的功能,比如多个私有存储库、运行多个并行构建、审计日志或更强大的访问控制系统,那么您将需要选择其中一个高级计划,起价为每月 5 美元。
但是你会在虚拟专用服务器上使用 Docker 来做什么呢?
为什么要在 VPS 上使用 Docker?
想要建立一个简单的 WordPress 博客的用户可能不会大量使用 Docker。然而,对于从事多个不同项目的开发人员来说,它可能是无价之宝。
以下仅列举 Docker 的部分优势:
- 您将拥有更清洁的主机操作系统
通过将所有内容放入容器中,您可以减少 VPS 主操作系统上的杂乱程度。因此,您可以为您的应用程序提供更安全、更可靠、更清洁的主机环境。
- 你可以犯错而不必担心后果
VPS 操作系统上的编码错误可能会导致崩溃,而且处理该问题通常会导致昂贵的延迟和停机。通过将应用程序放在 Docker 容器的封闭环境中,您无需担心任何错误会影响 VPS 的整体性能。
- 您可以在同一个 VPS 上管理多个独立应用程序
借助 Docker 容器,您可以使用单个 VPS 主机两个或多个在不同软件堆栈上运行的网站或应用程序。这极大地提高了灵活性,尤其是对于同时处理多个项目的开发人员来说。
- 您将能够完美地复制生产环境
Docker 容器可让您设置与生产服务器相同的暂存环境。这样,您就可以确保在部署代码时一切都能正常运行。
- 应用程序彼此隔离
如果您的应用程序位于主机操作系统上,其中一个应用程序的错误或崩溃可能会破坏整个 VPS 及其上管理的所有内容的性能。Docker 容器的安全隔离意味着即使一个应用程序出现故障,其余应用程序也不会受到影响。
- 容器提供更好的应用程序安全性
通过将应用程序隔离到不同的容器中,Docker 减少了针对一个应用程序的攻击,从而让黑客控制其余应用程序的可能性。
- 您可以轻松地在多个 VPS 上部署同一个应用程序
Docker 镜像允许您在一个 VPS 上开发一个网站或应用程序的完整副本,将其部署到另一台机器上,并将其用作故障转移。
- 简化备份
通过将 Docker 容器转换为映像,您还可以备份您的应用程序以及支持它的所有软件,以便在发生可怕的事情时可以快速恢复。
安装Docker需要什么?
Docker 可在 Windows、相当多的 Linux 发行版和 macOS 上运行。这些是完全不同的环境,并且没有一套适用于所有环境的系统要求。以下是每个主机操作系统的先决条件:
视窗
如果要在 Windows 上运行 Docker,则需要:
- 具有二级地址转换的 64 位 CPU
- 4GB RAM
- 在 BIOS 设置中启用 BIOS 级硬件虚拟化
将 Docker 与 Windows Subsystem for Linux 2 ( WSL2 ) 结合使用,您需要Windows 10 64 位家庭版、专业版、企业版或教育版,版本 1903 (内部版本 18362 或更高版本),并启用 WSL 2 功能并安装 Linux 内核更新包。
那些需要在 Hyper-V 后端和 Windows 容器上运行 Docker 的用户需要启用Hyper-V 和容器功能的Windows 10 64 位 Pro、Enterprise 或 Education(Build 17134 或更高版本) 。
Linux
Linux 版 Docker 兼容多种不同的 CPU 架构和几乎所有流行的发行版,包括CentOS、Debian、Fedora、Raspbian和Ubuntu。容器对开源操作系统具有原生支持,这意味着您需要调整更少的配置设置才能运行 Docker。
您还需要一个运行内核版本 3.10 或更新版本的系统 ,因为旧内核与 Docker 容器不兼容。Linux 用户还需要至少 512MB 的 RAM,但建议在至少具有 2GB随机存取存储器的系统上安装 Docker。
当谈到存储空间和 CPU 能力时,要求严格取决于您需要创建的容器数量以及您将在其中存储的应用程序的性质。
苹果系统
配备Intel 芯片的 Mac 电脑用户需要:
- 运行 macOS 10.14 或更高版本
- 至少有 4GB 的 RAM
- 确保未安装早于 4.3.30 的 VirtualBox 版本,因为它们可能会导致兼容性问题
使用Apple CPU的 Mac 机器的用户需要确保安装了Rosetta 2 。
如何安装 Docker?
尽管 Windows 在桌面操作系统市场上占据主导地位,但 Linux 为大多数网络主机服务器提供支持。它使服务更具成本效益,而且包括 Docker 在内的许多工具在 Linux 上的表现都比在任何其他平台上都要好。
CentOS是主机服务器最流行的 Linux 发行版之一,它与 Docker 集成起来相当容易。让我们看看安装它需要采取的步骤。
1.使用root或sudo权限登录
安装和运行 Docker 需要 root 或超级用户访问权限。如果您以 root 身份登录,则可以省略命令中的sudo前缀。
2.更新系统
在继续安装新应用程序之前,更新所有软件包至关重要。要更新 CentOS 系统,您需要以下命令:
sudo yum 更新-y
-y选项会自动回答 Linux 检查更新后出现的提示。
3.设置Docker存储库
Docker 不是 CentOS 默认软件存储库的一部分,因此您需要自行设置。您可以使用以下命令通过yum-utils 包进行设置:
sudo yum 安装 yum-utils -y
sudo yum-config-manager –add-repo https://download.docker.com/linux/centos/docker-ce.repo
4.安装Docker引擎
在已设置存储库后,您可以使用以下命令安装最新版本的 Docker 和 Containerd:
sudo yum 安装 docker-ce docker-ce-cli containerd.io
5.启动 Docker 并验证其是否正在运行
运行 Docker 所需的所有组件现已安装在您的 CentOS 系统上。现在是时候激活它并测试它是否正常工作了。
要启用 Docker,请使用:
sudo systemctl 启动 docker
由于没有视觉指示告诉您 Docker 是否正在运行,因此平台的文档建议您在第一次设置 Docker 时运行以下命令:
sudo docker 运行 hello-world
它告诉 Docker 下载一个测试映像,在容器中运行它,并打印出一条消息告诉您安装成功。
萤光云 和 Docker
萤光云的目标一直是确保尽可能多的人能够获得符合其项目要求的经济实惠的主机服务。这显然包括使用 Docker 在隔离、安全的环境中创建 Web 应用程序的数千名开发人员。
如果您需要使用Docker 容器,萤光云的自管理VPS是您的完美解决方案。有了它们,您从一开始就可以完全控制虚拟服务器。您首先可以选择要运行的操作系统。
选项包括:
- CentOS 7
- CentOS 8
- Ubuntu 18
- Ubuntu 16
- Debian 10
- Debian 9
- OpenSUSE 15
- Windows 2019
您还可以决定您的 VPS 可以使用哪种硬件资源。您有四个预设计划,但也可以选择您将获得的确切 CPU 功率、RAM和SSD 存储量。如果您的项目超出了初始设置,您可以随时轻松添加更多资源。
最后需要选择的是虚拟服务器的位置。您可以选择美国的几个数据中心和欧洲的另一个数据中心。
在自管理 VPS 上,您可以获得Linux 上的根访问权限和Windows上的管理员权限,因此您使用服务器的方式没有任何限制。
萤光云的虚拟服务器采用KVM Linux 虚拟化技术构建,可确保可靠的性能、完全隔离的环境和更好的安全性。您的 VPS 将在您购买后立即设置完毕,您可以立即开始处理您的应用程序。
结论
毫无疑问,Docker 是一种非常强大的解决方案。该技术非常可靠,它为开发人员提供了构建和配置应用程序所需的灵活环境,以实现最佳性能和安全性。
再加上VPS主机的优势,您很快就会明白为什么这种设置成为如此多项目的核心。
常问问题
问: 什么是 Docker 容器?
答: Docker 使用操作系统级虚拟化在主机操作系统之上创建多个环境,运行不同的软件堆栈。Web 应用程序开发人员利用这些容器提供的隔离来更好地利用主机的资源,安装所需的工具集,并根据其确切的规格配置应用程序的主机设置。
问: Docker 容器和虚拟机有什么区别?
答:虚拟机或虚拟服务器的目的是充当独立设备,专门为其保留和分配硬件资源、成熟的操作系统,并与同一服务器上的 其他虚拟机完全隔离。
相比之下,容器允许 Web 和应用开发人员在同一台主机上实现多种服务和编程语言。容器的加载速度比虚拟机更快,并且运行在底层服务器的操作系统上。
问: 我需要为 Docker 付费吗?
答: Docker 最初是一个开源项目,现在仍然可以免费使用。除了免费计划外,Docker 还提供Pro订阅。价格为每月 5 美元,按年计费,为您提供高级支持和无限的私有存储库和容器映像请求。
每月7 美元,Docker 即可提供审计日志和基于角色的访问控制,以及更适合团队的全方位环境。需要使用 Docker 的大型组织可以联系 Docker, Inc.以获得定制解决方案。