我正在配置 ECS 任務定義以使用 AWS AppMesh 進行虛擬網路。我正在使用 Envoy,AWS 建議將其作為 sidecar 運行;他們使用proxyConfiguration
ECS 配置中的區塊對其進行本機支援TaskDefinition
。
代理中可用於配置的屬性之一是IgnoredUID
。據稱,這允許 Envoy 進程在代理期間忽略其自己的流量,而無需檢查它使用代理。這是性能的增強。但是,文件沒有描述我如何找到我自己的該數位版本。他們只使用數字“1337”,我一直無法弄清楚它來自哪裡。
文件在這裡:https://docs.aws.amazon.com/AmazonECS/latest/developerguide/appmesh-getting-started.html(向下捲動至「更新任務定義」並查看 JSON 部分)。
答案1
docker 進程運行的 UID 可以是相當任意的。預設情況下,所有 docker 進程都以 UID 0(root)運行。有幾個方面可以改變這種情況:
- 透過將不同的預設用戶烘焙到圖像中使用者Dockerfile 中的指令
- 在 docker 的 cli 中指定用戶
--user
- 在 Sidecar 的 ECS 容器定義中設定
user
或:uid
對於您的情況,我將為容器分配任意 UID,並為選項設定相同的數字IgnoredUID
。