设置沙箱环境
在运行 Envoy 沙箱之前,你需要使用 Docker 和 Docker Compose 设置你的环境。
一些示例需要安装 其他依赖.
沙箱文档中会指明哪些示例需要安装其他依赖。
提示
如果你在 Mac OS 或 Windows 系统上工作,安装 Docker 和 Docker 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 进行管理。
克隆 Envoy 示例仓库
如果你还没有克隆 Envoy 示例仓库,请使用以下命令克隆它:
git clone [email protected]:envoyproxy/examples
git clone https://github.com/envoyproxy/examples.git
其他依赖
以下工具仅在一些沙箱示例中使用,因此安装是可选的。
curl
许多示例使用 curl 工具发送 HTTP
请求。
envsubst
一些示例需要 envsubst
命令来在模板中插值环境变量。
该命令是 GNU ‘gettext’ 包的一部分,可以通过大多数包管理器获得。
jq
jq 工具非常适合解析 json
数据,无论它是 HTTP
响应数据、日志还是统计数据。
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 用户可以使用 非官方二进制文件 或从源代码编译。
查看特定于你的操作系统的安装说明。