设置沙箱环境

在运行 Envoy 沙箱之前,你需要使用 DockerDocker Compose 设置你的环境。

你应该使用 Git 克隆 Envoy 仓库

一些示例需要安装 其他依赖.

沙箱文档中会指明哪些示例需要安装其他依赖。

提示

如果你在 Mac OS 或 Windows 系统上工作,安装 DockerDocker Compose 的简单方法是使用 Docker Desktop.

安装 Docker

确保你安装了最新版本的 docker

你需要至少 19.03.0+ 版本。

20.10 版本经过良好测试,并且具有包含 compose 的优势。

运行这些示例的用户帐户需要有权在你的系统上使用 Docker。

Docker 网站上提供了安装 Docker 的完整说明,请访问 Docker 网站

安装 docker compose

这些示例使用 Docker compose 配置版本 3.8.

你需要使用较新版本的 Docker Compose.

注意

任何 20.0+ 版本的 Docker 都提供内置的 docker compose 命令。

沙箱使用这种方式的 compose 进行测试,因此这种方式优于使用 python 版本。

有关更多信息,请参阅 Docker compose 安装文档.

Docker Compose (docker-compose) 也可以作为 python 应用 安装,并且可以通过多种方法安装,包括 pip 和本机操作系统安装。

大多数沙箱也应该可以使用 docker-compose

安装 Git

Envoy 项目使用 Git 进行管理。

你可以 在这里找到在各种操作系统上安装 Git 的说明.

克隆 Envoy 示例仓库

如果你还没有克隆 Envoy 示例仓库,请使用以下命令克隆它:

git clone [email protected]:envoyproxy/examples

其他依赖

以下工具仅在一些沙箱示例中使用,因此安装是可选的。

curl

许多示例使用 curl 工具发送 HTTP 请求。

curl 网站上提供了在许多平台和操作系统上安装 curl 的说明,请访问 curl 网站.

envsubst

一些示例需要 envsubst 命令来在模板中插值环境变量。

该命令是 GNU ‘gettext’ 包的一部分,可以通过大多数包管理器获得。

jq

jq 工具非常适合解析 json 数据,无论它是 HTTP 响应数据、日志还是统计数据。

jq 网站上提供了在许多平台和操作系统上安装 jq 的说明,请访问 jq 网站.

mkpasswd

一些示例需要 mkpasswd 命令来生成随机令牌。

该命令是 ‘whois’ 包的一部分,可以通过大多数包管理器获得。

netcat

可以使用 brew 在 Mac OS 上获得 Netcat 的二进制发行版,并且大多数 Linux 发行版也提供它。

Ncat 集成到 Nmap 中,并且在从 Nmap 下载页面 获得的标准 Nmap 下载包中可用(包括源代码和 Linux、Windows 和 Mac 二进制文件)。

openssl

OpenSSL 是一个强大、商业级、功能齐全的工具包,用于传输层安全 (TLS) 和安全套接字层 (SSL) 协议。

可以使用 brew 在 Mac OS 上获得 OpenSSL 的二进制发行版,并且大多数(如果不是全部)Linux 发行版也提供它。

Windows 用户可以使用 非官方二进制文件 或从源代码编译。

查看特定于你的操作系统的安装说明。