簡體   English   中英

ECS 相當於 docker-compose 的命令

[英]ECS equivalent of docker-compose's command

我有一個使用 docker-compose 運行的應用程序。

現在我正在遷移要在 ECS 上托管的應用程序。

我正在將 docker-compose 設置轉換為 boto3 ECS 等效項。

不幸的是,我在AWS CLI中找不到等效的 docker-compose命令

ECS 不包含 docker-compose 命令。 相反,您將指定一個任務定義文件,其中包含服務的所有定義以及駐留在其中的容器。

然后,ECS 服務將根據任務定義進行部署,您只需定義參數,例如一次運行的任務數量。

但是,您可以使用ecs-cli工具為您執行此遷移,使用ecs-cli compose命令它可以獲取 docker-compose 文件並執行這些轉換。

查看Using Docker Compose File Syntax頁面,了解 docker-compose 文件支持哪些參數。

您可以將容器轉換與 boto3 一起使用,這會將 docker-compose 轉換為等效的 ECS 任務定義。 這也是基於 python。

container-transform 是一個小型實用程序,用於將各種 docker 容器格式相互轉換。

目前,container-transform 可以解析和轉換:

  • Kubernetes Pod 規格
  • ECS 任務定義
  • Docker-compose 配置文件
  • Marathon 應用程序定義或應用程序組
  • Chronos 任務定義容器轉換
cat docker-compose.yml | container-transform  -v

撰寫到 ecs

AWS ECS 道路 map 也建議使用工具

我們不太可能直接在我們的 API 中支持 docker-compose 格式。 但是,像 container-transform 這樣將 docker-compose 文件轉換為 ECS 任務定義的工具對您有用嗎? 然后您可以在 boto 中使用生成的 ECS 任務定義文件。

您還可以使用ECS ComposeX ,這將允許您繼續使用您的 docker-compose 定義,因為它們存在於本地目的,因為它不會為 docker-compose 引入任何不受支持的擴展,但還允許您定義 RDS/DocDB/DynamoDB/Kinesis 和許多其他您可以自動鏈接到您的服務的選項。

准備就緒后,ComposeX 將轉換 CFN 模板中的所有內容,其中包含 AWS ECS 定義和所有必要的資源,這些資源在邏輯上鏈接到一起工作但同樣自給自足(因此您可以單獨部署事物,例如 DB)。

所有模板都通過 cloudformation API 自動解析和驗證(盡其所能)。 它旨在使用 AWS 服務,並遵循所有最佳實踐,包括允許您定義對服務和 AWS 資源的最低特權訪問。

它支持自動擴展、創建/使用現有的 ECS 集群,旨在使工作負載主要在 Fargate 上,但也在 EC2 實例上。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM