如何在Silicon Cloud上使用Docker的一键安装功能

引言

Docker是一个平台,旨在帮助开发者通过将应用程序与基础架构和依赖分开,以可重复的方式构建、扩展和运行应用程序。在其核心,Docker是一种软件,通过容器这种抽象概念来管理应用程序进程,并使用操作系统级虚拟化以自包含的镜像形式提供软件。Docker被广泛用于应用程序的开发和部署。

在这个教程中突出的使用案例最适合那些想在单个 vServer 上同时使用 Docker 和多个容器的人。

本教程将指导您如何使用Silicon Cloud Docker 1-Click应用程序,在Silicon Cloud vServer上快速部署已预安装Docker和Docker Compose的环境。创建vServer后,您将获得其他用例和常见Docker命令的指导。由于这个1-Click vServer基于标准的Ubuntu 20.04 vServer,因此在完成本指南后,您可以在创建的vServer上按照我们的任何Docker教程继续操作。

软件包含

完成本教程后,您将拥有一个通过使用Docker 1-Click添加了以下功能的Ubuntu 20.04 vServer。

  • Docker CE (version 20.10.7): Docker CE or Docker Community Edition is one of the fastest ways to get started with Docker and is ideal for developers and small-to-medium businesses who want to experiment with container-based applications.
  • Docker Compose (version 1.27.0): Docker Compose is a tool to help developers define and share multi-container applications. With Compose, you can use a YAML file to define the services you need and spin these up (or tear them down) with a single command.

除了软件安装包之外,这个一键安装还处理以下事项:

  • Configuration of Docker following the official Docker recommendations
  • Configuration of Docker Compose followingthe official Docker Compose recommendations

截至撰写本文的时候,这个“一键解决方案”会安装 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 1-Click vServer,并将转到Silicon Cloud控制面板。除了通过Silicon Cloud控制面板创建Docker 1-Click应用程序之外,您还可以使用Silicon Cloud API创建这个Docker vServer,但对此教程不会进行深入解释。

要从Docker 1-Click应用程序创建一个Docker vServer,请点击创建Docker vServer按钮。

Docker 1-Click Create Docker vServer

如果您未登录Silicon Cloud账户,您需要登录以继续操作。如果您没有账户,您将被提示进行注册。

接下来,您将进入“创建 vServers”页面。在这里,您可以在创建您的 Docker vServer 之前自定义服务器设置。《如何创建您的第一个 vServer》详细描述了您需要做出的所有选择,但以下是需要考虑的关键设置。

选择一张图片。

您的图像将已经设置到了Marketplace选项卡,并选择了Docker。如果未设置,请切换到Marketplace选项卡,并在搜索关键词框中搜索Docker。当正确设置后,您的控制面板将看起来类似于这个样式:

Marketplace Docker Image

将选择在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地址将会显示出来。

Copying a new vServer's IP Address

这个IP地址对于连接到你的vServer以及你可能想要进行的未来配置非常重要。当你将鼠标悬停在IP地址上时,你可以将其复制到剪贴板上。

通过1-Click Marketplace创建的水滴还附带了额外的资源,您可以通过点击“开始”来访问这些资源。

1-Click vServer's Get started

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

Get started with additional information and resources

步骤2 — 通过SSH访问vServer以启用配置

一旦你启动了Docker vServer,你需要通过SSH连接到你的vServer。这意味着你将通过命令行连接到服务器。如果你以前没有使用过像SSH或PuTTY这样的终端程序,请查看如何使用SSH连接到你的vServer。
当你准备好时,打开你电脑上的终端,并使用以下命令以root身份通过SSH登录到你的vServer,将IP地址替换为你的vServer的IP地址。

  1. ssh root@your_server_ip

 

步骤3 – 使用Docker并创建您的第一个容器

既然您的Docker vServer已经启动并运行,您可以开始使用Docker了。输入以下命令以显示活动和非活动的Docker容器列表:

  1. docker ps -a

 

Output

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软件进行操作。

  • Docker Compose with Node.js: Node.js is a runtime for the JavaScript programming language, and is useful in the development of many applications.
  • Docker Compose with WordPress: WordPress is a popular solution for hosting your own website.
  • Docker Compose with Laravel: Laravel is a powerful framework to build websites using the PHP language.
  • Docker Compose with Nginx: Nginx is a popular web server and reverse proxy server.

要更深入了解Docker,请查阅我们发布的众多Docker教程。如果您对探索超越Docker的容器技术感兴趣,您可以学习容器编排。在这篇关于构建适用于Kubernetes的优化容器的教程中,我们将介绍与Kubernetes常常配对使用的容器。

发表回复 0

Your email address will not be published. Required fields are marked *