設定沙箱環境

在您可以執行 Envoy 沙箱之前,您需要使用 DockerDocker Compose 設定您的環境。

您也應該使用 Git 複製 Envoy 儲存庫

有些範例需要安裝額外的依賴項

在沙箱文件中會說明哪些情況需要安裝額外的依賴項。

提示

如果您在 Mac OS 或 Windows 系統上工作,安裝 DockerDocker Compose 的一個簡單方法是使用 Docker Desktop

安裝 Docker

確保您已安裝最新版本的 docker

您需要至少 19.03.0+ 的版本。

版本 20.10 經過良好測試,並且具有包含 compose 的優點。

執行範例的使用者帳戶需要在您的系統上具有使用 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 git@github.com:envoyproxy/examples

額外依賴項

以下工具僅在某些沙箱範例中使用,因此安裝是可選的。

curl

許多範例使用 curl 工具發出 HTTP 請求。

在許多平台和作業系統上安裝 curl 的說明可以在 curl 網站上找到

envsubst

某些範例需要 envsubst 命令來內插範本中的環境變數。

該命令是 GNU「gettext」套件的一部分,並且可以通過大多數套件管理器獲得。

jq

jq 工具對於解析 json 資料非常有用,無論它是 HTTP 回應資料、記錄還是統計資訊。

在許多平台和作業系統上安裝 jq 的說明可以在 jq 網站上找到

mkpasswd

某些範例需要 mkpasswd 命令來產生隨機令牌。

該命令是「whois」套件的一部分,並且可以通過大多數套件管理器獲得。

netcat

適用於 Mac OS 的 Netcat 二進位發行版可透過 brew 取得,並且在大多數 Linux 版本中也提供。

Ncat 已與 Nmap 整合,並且可從 Nmap 下載頁面取得標準 Nmap 下載套件(包括原始碼以及 Linux、Windows 和 Mac 二進位檔案)。

openssl

OpenSSL 是一個穩健、商業級且功能完整的工具組,適用於傳輸層安全(TLS)和安全通訊端層(SSL)協定。

適用於 Mac OS 的 OpenSSL 二進位發行版可透過 brew 取得,並且在大多數(如果不是全部)Linux 版本中也提供。

Windows 使用者可以使用 非官方二進位檔案或從原始碼編譯。

請檢查特定於您的作業系統的安裝說明。