建置 Envoy Docker 映像檔
以下步驟將引導您建置自己的 Envoy 二進位檔,並將其放入乾淨的 Ubuntu 容器中。
提示
這些說明使用 ci/run_envoy_docker.sh
在 Docker 中執行命令。
預設情況下,這會將 bazel 執行檔和任何成品放置在 /tmp/envoy-docker-build
中。
您可以將 ENVOY_DOCKER_BUILD_DIR
環境變數設定為您選擇的路徑來覆寫此設定。
步驟 1:建置 Envoy
您將使用 envoyproxy/envoy-build
編譯 Envoy。此映像檔具有建置 Envoy 所需的所有軟體。從您的 Envoy 目錄
$ pwd
src/envoy
$ ./ci/run_envoy_docker.sh './ci/do_ci.sh release'
該命令將需要一些時間才能執行,因為它正在編譯 Envoy 二進位檔並執行測試。
如果您的系統資源有限,或者您希望在不執行測試的情況下進行建置,您也可以按如下方式進行建置
$ pwd
src/envoy
$ ./ci/run_envoy_docker.sh './ci/do_ci.sh release.server_only'
有關建置和不同建置目標的更多資訊,請參閱 ci/README.md。
警告
這些用於建置 Envoy 的說明使用 envoyproxy/envoy-build-ubuntu 映像檔。您需要 4-5GB 的磁碟空間來容納此映像檔。
此腳本以您主機系統上的有效根使用者身分執行。
步驟 2:建置僅包含 Envoy 二進位檔的映像檔
在此步驟中,我們將建置 Envoy 部署映像檔。
注意
docker
CI 目標預期先前已使用上述步驟之一建置發佈 tarball。
為了在 Envoy 建置映像檔內建置 Docker,我們需要設定環境變數 ENVOY_DOCKER_IN_DOCKER
$ pwd
src/envoy/
$ ENVOY_DOCKER_IN_DOCKER=1 ./ci/run_envoy_docker.sh './ci/do_ci.sh docker'
現在,您可以使用 Envoy 映像檔,透過變更相關 Dockerfile 中的 FROM
行來建置任何沙箱。
如果您有興趣修改 Envoy 並測試您的變更,這會特別有用。