本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
Amazon ECS 容器代理程式組態
適用於:EC2 執行個體
Amazon ECS 容器代理程式支援多種組態選項,大部分都是透過環境變數設定。
如果是透過 Linux 版的 Amazon ECS 最佳化 AMI 來啟動容器執行個體,您可以在 /etc/ecs/ecs.config
檔案中設定這些環境變數,然後重新啟動代理程式。您也可以在啟動時使用 Amazon EC2 使用者資料,將這些組態變數寫入容器執行個體。如需詳細資訊,請參閱引導 Amazon ECS Linux 容器執行個體以傳遞資料。
如果是透過 Windows 版的 Amazon ECS 最佳化 AMI 來啟動容器執行個體,您可以使用 PowerShell SetEnvironmentVariable 命令設定這些環境變數,然後重新啟動代理程式。如需詳細資訊,請參閱《Amazon EC2 使用者指南》中的使用使用者資料輸入啟動 EC2 執行個體時執行命令和 引導 Amazon ECS Windows 容器執行個體以傳遞資料。 Amazon EC2
如果您是手動啟用 Amazon ECS 容器代理程式 (適用於非 Amazon ECS 最佳化 AMI),則可以在用於啟用代理程式的 docker run 命令中使用這些環境變數。請搭配使用這些變數和語法 --env=
。如需私有儲存庫的身分驗證登入資料這類敏感資訊,您應該將代理環境變數存放至一個檔案中,並使用 VARIABLE_NAME
=VARIABLE_VALUE
--env-file
選項一次傳遞。您可使用下列命令來新增這些變數。path_to_env_file
sudo systemctl stop ecs sudo vi /etc/ecs/ecs.config # And add the environment variables with VARIABLE_NAME=VARIABLE_VALUE format. sudo systemctl start ecs
使用主機 PID 命名空間執行 Amazon ECS 代理程式
根據預設,Amazon ECS 代理程式會使用自己的 PID 命名空間執行 。在下列組態中,您可以將 Amazon ECS 代理程式設定為使用主機 PID 命名空間執行:
-
SELinux 強制執行模式已啟用 。
-
Docker 的 SELinux 安全政策設定為 true。
您可以在 true
/etc/ecs/ecs.config
檔案中將ECS_AGENT_PID_NAMESPACE_HOST
環境變數設定為 ,以設定此行為。啟用此變數時, ecs-init
會使用主機的 PID 命名空間 (--pid=host
) 啟動 Amazon ECS 代理程式容器,允許代理程式在 SELinux 強制執行環境中正確引導本身。此功能適用於 Amazon ECS 代理程式版本 1.94.0
和更新版本。
若要啟用此功能,請將以下行新增至您的 /etc/ecs/ecs.config
檔案:
ECS_AGENT_PID_NAMESPACE_HOST=true
進行此變更之後,請重新啟動 Amazon ECS 代理程式,讓變更生效:
sudo systemctl restart ecs
下列功能無法運作 SELinux 強制執行模式已啟用,且即使 ECS_AGENT_PID_NAMESPACE_HOST=true
已設定,Docker 安全政策也會設為 true。
Amazon ECS Exec
Amazon EBS 任務連接
Service Connect
FireLens 適用於 Amazon ECS 的
可用參數
如需有關可用 Amazon ECS 容器代理程式組態參數的資訊,請參閱 GitHub 上的 Amazon ECS 容器代理程式