簡體   English   中英

我可以使用哪些命令/配置來使用ecs-cli部署django + postgres + nginx?

[英]What commands/config can I use to deploy a django+postgres+nginx using ecs-cli?

我有一個基於Docker Django docs在本地運行的基本django / postgres應用程序。 它使用docker compose在本地運行容器。

我想在Amazon Web Services(AWS)上運行此應用程序,並使用命令行而不是AWS控制台進行部署。

我的嘗試

當我嘗試這樣做時,我最終得到:

注意:我試圖以一種不穩定的方式啟動Python開發服務器,希望在添加nginx之前可以正常工作。 群集(RDS +服務器)將啟動,但是實例將立即死亡。

我后來未能解決的問題

在此過程中,我意識到:

  • 該設置需要Web服務器(nginx)的另一個容器才能在AWS上運行( 如本博文 ,但本教程使用的是AWS Console,我想避免這樣做)
  • ecs-cli對yml / json配置使用的語法與docker-compose不同,因此您需要與本地docker.yml有一些單獨的/類似的代碼(而且我不確定上面的文件是否正確)

那么,我該使用什么ecs-cli命令和config來部署應用程序,還是我要解決所有問題?

隨意說我做錯了。 我也可以使用Elastic Beanstalk- 關於此的教程似乎並不使用docker / docker-compose ,但是總體上似乎更容易(至少有據可查)。

我想了解為什么任何給定的方法都是這樣做的好方法。

如果您只想在Amazon Cloud中安裝ECS,則不妨考慮使用ECS替代方案,即使用amazonec2驅動程序使用docker -machine。

當執行搬運工-撰寫,只是確保遠程亞馬遜主機是ACTIVE可以與被視為docker-machine ls

您必須使用Amazon Mmgt Console重新訪問的一項內容是打開適用的PORTS,例如端口80和撰寫文件中公開的任何其他端口。 一旦為VPC設置了安全組,您就應該能夠在后續執行中簡單地引用VPC ID,而無需使用Mgmt控制台添加端口的任何需要。 您可能希望將實例大小從默認的t2.micro到與t2.medium指定的t2.micro相匹配。


如果需要進行ECS 編排 ,則需要創建一個任務定義,其中包含您在docker compose文件中定義的所需容器定義。 我的建議是利用Mgmt控制台來構建定義,然后獲取隨附的JSON定義,該定義已可用並存儲在源代碼存儲庫中,以供將來在命令行上執行,在注冊任務定義時可以引用這些定義,在給定集群中執行任務和服務。

暫無
暫無

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

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