Silicon Cloud一键部署Docker:快速入门与最佳实践
引言
Docker是一个平台,旨在帮助开发者通过将应用程序与基础架构和依赖分离,以可重复的方式构建、扩展和运行应用程序。在其核心,Docker是一种软件,通过容器这种抽象概念来管理应用程序进程,并使用操作系统级虚拟化以自包含的镜像形式提供软件。Docker被广泛用于应用程序的开发和部署。
本教程中重点介绍的使用案例最适合那些希望在单个vServer上同时使用Docker和多个容器的用户。
本教程将指导您如何使用Silicon Cloud Docker一键安装应用程序,在Silicon Cloud vServer上快速部署已预安装Docker和Docker Compose的环境。创建vServer后,您将获得其他用例和常见Docker命令的指导。由于这个一键安装vServer基于标准的Ubuntu 20.04 vServer,因此在完成本指南后,您可以在创建的vServer上按照我们的任何Docker教程继续操作。
软件包含
完成本教程后,您将拥有一个通过使用Docker一键安装功能添加了以下功能的Ubuntu 20.04 vServer:
- Docker CE (版本 20.10.7):Docker CE,即Docker社区版,是开始使用Docker最快的方式之一,非常适合希望尝试基于容器的应用程序的开发者和中小型企业。
- Docker Compose (版本 1.27.0):Docker Compose是一个帮助开发者定义和共享多容器应用程序的工具。通过Compose,您可以使用YAML文件定义所需的服务,并通过一个命令启动(或关闭)这些服务。
除了软件安装包之外,这个一键安装还处理以下事项:
- 遵循官方Docker建议配置Docker
- 遵循官方Docker Compose建议配置Docker Compose
截至撰写本文时,这个“一键解决方案”会安装Docker Compose v1,它使用的是docker-compose
命令。从Docker Compose v2开始,Docker已经开始使用Compose CLI插件命令,这在我们最新的Ubuntu 22.04版本教程中有所记录,并摒弃了原始的docker-compose
。尽管安装方式有所不同,但通常的使用方式是在docker-compose
的调用中去掉连字符,变为docker compose
。具体的兼容性细节请参考官方Docker文档,了解新的compose
和旧的docker-compose
之间的命令兼容性详情。
第一步 – 创建一个Docker vServer
您将首先创建一个在我们的市场中可用的Docker一键安装vServer,并前往Silicon Cloud控制面板。除了通过Silicon Cloud控制面板创建Docker一键安装应用程序之外,您还可以使用Silicon Cloud API创建这个Docker vServer,但本教程不会对此进行深入解释。
要从Docker一键安装应用程序创建一个Docker vServer,请点击“创建Docker vServer”按钮。

如果您未登录Silicon Cloud账户,您需要登录以继续操作。如果您没有账户,您将被提示进行注册。
接下来,您将进入“创建vServers”页面。在这里,您可以在创建您的Docker vServer之前自定义服务器设置。《如何创建您的第一个vServer》详细描述了您需要做出的所有选择,但以下是需要考虑的关键设置。
选择一个镜像
您的镜像将已经设置到“市场”选项卡,并选择了Docker。如果未设置,请切换到“市场”选项卡,并在搜索关键词框中搜索“Docker”。当正确设置后,您的控制面板将看起来类似于这个样式:

将选择在Ubuntu 20.04上安装Docker版本19.03.12。如果没有安装成功,请使用搜索框搜索“Docker”。
一旦正确选择了Docker镜像,您可以接受默认设置或根据您的使用情况进行调整。我们通常建议进行以下更改:
选择数据中心区域
为避免潜在的延迟,建议您选择离您的用户群体最近的数据中心区域。在某些区域,我们拥有多个数据中心。这些同一区域的数据中心(例如,SFO3和SFO2)之间没有区别。
选择一个计划
为了使用Docker运行一个vServer,建议至少拥有1GB的内存。
选择一种认证方法
为您的vServer,推荐使用SSH密钥选项而非密码。通过SSH密钥进行身份验证通常更加安全。
选择其他选项
为您的vServer添加改进的度量监控和警报功能,可以帮助您随时追踪vServer的资源使用情况。您可能还要考虑启用自动备份功能。您也可以随后返回并在已创建的vServers上启用备份功能。
选择一个主机名
您可以给您的vServer起一个容易记住的名字,比如“Docker vServer 1”或者根据您将要使用它的应用命名。
在您做出所有选择后,请单击控制面板屏幕底部的“创建vServer”选项。一旦vServer创建成功,其IP地址将会显示出来。

这个IP地址对于连接到您的vServer以及您可能想要进行的未来配置非常重要。当您将鼠标悬停在IP地址上时,您可以将其复制到剪贴板上。
通过一键市场创建的vServer还附带了额外的资源,您可以通过点击“开始”来访问这些资源。

这将切换到一个新的面板,您可以在此获得与您选择的“一键”相关的其他特定信息。这包括一个概述,进一步的开始使用您的vServer的步骤,并提供来自我们社区站点的相关教程链接。此外,还提供一些有用的链接,如何获取支持以及找到更多Docker资源的位置。

步骤2 — 通过SSH访问vServer以启用配置
一旦您启动了Docker vServer,您需要通过SSH连接到您的vServer。这意味着您将通过命令行连接到服务器。如果您以前没有使用过像SSH或PuTTY这样的终端程序,请查看如何使用SSH连接到您的vServer。
当您准备好时,打开您电脑上的终端,并使用以下命令以root身份通过SSH登录到您的vServer,将your_server_ip
替换为您的vServer的IP地址。
- ssh root@your_server_ip
步骤3 – 使用Docker并创建您的第一个容器
既然您的Docker vServer已经启动并运行,您可以开始使用Docker了。输入以下命令以显示活动和非活动的Docker容器列表:
- docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
鉴于这是一个新创建的vServer并且安装了新的Docker,您的容器列表将为空。要开始学习如何使用Docker并创建您的第一个容器,您可以从《如何在Ubuntu 20.04上安装和使用Docker》教程的第3步开始。该教程还将指导您使用Docker镜像,并创建一个带有应用程序的容器。
要获取有关使用Docker的更多信息,您可以查看教程,例如《如何删除Docker镜像、容器和卷》。
步骤四 — 创建新用户并调整权限和防火墙(可选)
您的新的vServer只会有一个用户,这个用户是默认的root用户。虽然Docker可以作为root用户运行,但您也可以选择设置一个新用户并通过sudo授予它管理员特权。我们的《Ubuntu 20.04初始服务器设置教程》中提供了其他安全建议和设置新用户的方法。如果您想通过新用户使用Docker,建议您按照《如何在Ubuntu 20.04上安装和使用Docker》的第二步骤进行操作,以便以更简洁的方式执行Docker命令。
此vServer配置了UFW作为防火墙。默认情况下,它打开端口22用于SSH,以及端口2375和2376用于Docker。虽然这些端口向外部提供访问Docker的权限,但如果您的需求不包括这种用途,您可以选择在防火墙中关闭对这些端口的访问。
此外,虽然UFW充当低级iptables防火墙的前端,但Docker直接修改iptables以建立与容器之间的通信。这意味着UFW无法完整展示防火墙设置。您可以在Docker中添加--iptables=false
参数来取消这种行为。
结论
您的Docker一键式vServer已经成功运行,然而容器的功能在实际应用部署时更加显著。这里有一些教程,涵盖了常见的使用案例,所有这些都可以使用预安装的Docker和Docker Compose软件进行操作。
- 使用Node.js的Docker Compose:Node.js是JavaScript编程语言的运行时环境,在许多应用程序的开发中都非常有用。
- 使用WordPress的Docker Compose:WordPress是托管您自己网站的流行解决方案。
- 使用Laravel的Docker Compose:Laravel是一个强大的框架,用于使用PHP语言构建网站。
- 使用Nginx的Docker Compose:Nginx是一个流行的Web服务器和反向代理服务器。
要更深入了解Docker,请查阅我们发布的众多Docker教程。如果您对探索超越Docker的容器技术感兴趣,您可以学习容器编排。在这篇关于构建适用于Kubernetes的优化容器的教程中,我们将介绍与Kubernetes常常配对使用的容器。