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 内存
- 在 BIOS 设置中启用 BIOS 级硬件虚拟化
将 Docker 与适用于 Linux 2 ( WSL2 ) 的 Windows 子系统一起使用,您需要启用 WSL 2 功能和 Linux 内核更新包的Windows 10 64 位家庭版、专业版、企业版或教育版 1903 (内部版本 18362 或更高版本)安装。
需要在 Hyper-V 的后端和 Windows 容器上运行 Docker 的用户需要启用 Hyper-V 和容器功能的Windows 10 64 位专业版、企业版或教育版(Build 17134 或更高版本)。
Linux
Docker for Linux 兼容多种不同的 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 为大多数 Web 托管服务器提供支持。它使服务更具成本效益,并且包括 Docker 在内的许多工具在 Linux 上的性能比在任何其他平台上都好。
CentOS是最流行的用于托管服务器的 Linux 发行版之一,它与 Docker 非常容易集成。让我们看一下安装它所需的步骤。
1.以root或sudo权限登录
安装和运行 Docker 需要 root 或超级用户访问权限。如果您以 root 身份登录,则可以在命令中省略sudo前缀。
2.更新系统
在继续安装新应用程序之前,必须更新所有软件包。要更新您的 CentOS 系统,您需要以下命令:
须藤百胜更新 -y
-y选项会自动回答 Linux 在检查更新后将出现的提示。
3.设置Docker存储库
Docker 不是 CentOS 的默认软件存储库的一部分,因此您需要自己设置它。您可以使用以下命令通过yum-utils 包来完成:
sudo yum install yum-utils -y
sudo yum-config-manager –add-repo https://download.docker.com/linux/centos/docker-ce.repo
4.安装Docker引擎
已设置存储库后,您可以使用以下命令安装最新版本的 Docker 和 Containerd:
sudo yum install docker-ce docker-ce-cli containerd.io
5.启动 Docker 并验证它是否正在运行
运行 Docker 所需的所有组件现在都安装在您的 CentOS 系统上。是时候激活它并测试它是否有效。
要启用 Docker,请使用:
sudo systemctl 启动泊坞窗
因为没有视觉指示告诉您 Docker 是否正在运行,所以平台的文档建议您在第一次设置 Docker 时运行以下命令:
sudo docker run hello-world
它告诉 Docker 下载一个测试镜像,在容器中运行它,并打印出一条消息,告诉您安装成功。
如果您需要使用Docker 容器,我们的自我管理 VPS是您的完美解决方案。有了它们,您可以从一开始就完全控制虚拟服务器。您首先要选择它将运行的操作系统。
选项包括:
- CentOS 7
- CentOS 8
- Ubuntu 18
- Ubuntu 16
- Debian 10
- Debian 9
- OpenSUSE 15
- 视窗 2019
您还可以决定您的 VPS 将拥有什么样的硬件资源。您有四个预设计划,但也可以选择您将获得的 CPU 功率、RAM和SSD 存储的确切数量。如果您的项目超出初始设置,您可以随时轻松添加更多资源。您需要选择的最后一件事是虚拟服务器的位置。您可以在美国的几个数据中心和欧洲的另一个数据中心之间进行选择。
在自我管理的 VPS 上,您可以在 Linux 上获得root 访问权限,在Windows上获得管理员权限,因此您对服务器的使用方式没有任何限制。我们的虚拟服务器是使用KVM Linux 虚拟化构建的,它保证了可靠的性能、完全隔离的环境和更好的安全性。您的 VPS 将在您购买后立即设置好,您几乎可以立即开始处理您的应用程序。
结论
毫无疑问——Docker 是一个非常强大的解决方案。该技术是可靠的,它为开发人员提供了构建和配置应用程序以获得最佳性能和安全性所需的灵活环境。将此与VPS 托管的优势相结合,您将很快明白为什么此设置位于如此多项目的核心。