設定沙箱環境
在您可以執行 Envoy 沙箱之前,您需要使用 Docker 和 Docker Compose 設定您的環境。
有些範例需要安裝額外的依賴項。
在沙箱文件中會說明哪些情況需要安裝額外的依賴項。
提示
如果您在 Mac OS 或 Windows 系統上工作,安裝 Docker 和 Docker 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
git clone https://github.com/envoyproxy/examples.git
額外依賴項
以下工具僅在某些沙箱範例中使用,因此安裝是可選的。
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 使用者可以使用 非官方二進位檔案或從原始碼編譯。
請檢查特定於您的作業系統的安裝說明。