簡體   English   中英

AWS ECS故障-運行Shell腳本來啟動程序

[英]AWS ECS trouble - Running shell script to boot program

我正在嘗試在Amazon ECS上運行Docker映像。 我正在使用一個命令來啟動外殼程序腳本來啟動程序: CMD ["sh","-c", "app/bin/app start; bash"]以啟動它,因為由於某些原因,當我運行時后台的應用程序(elixir / phoenix應用程序)立即崩潰,但是如果我在前台運行它就可以了。 如果以這種方式在本地運行它,則一切正常,但是當我嘗試在群集中運行它時,它將關閉。 請幫忙!!

Docker應該跟蹤您正在運行的前台進程,如果進程停止,則容器停止。 當您將命令與“ bash”一起使用時,容器工作的原因是bash不會停止。

我猜您會使用她的腳本來啟動一個在后台運行的應用程序,例如nginx或守護程序。 因此,請嘗試找到使應用程序在前台運行的選項,以使您的容器保持活動狀態。 即nginx在啟動“守護程序關閉”時有一個選項

由於某種原因,當我在后台運行該應用程序(elixir / phoenix應用程序)時,它立即崩潰

因此,您有一個已損壞的應用程序,並且正在尋找使它看起來有些奏效的合並程序。 這根本不是一種可靠的方法。

相反,您應該:

  • 使它在后台運行
  • 使用systemctlupstart來管理崩潰時Erlang VM的重啟

請注意,在哪里編譯應用程序很重要。 它必須是與生產版本完全相同的體系結構/容器,並具有相同的Erlang,Elixir,OS版本,否則,沒有人保證它會健壯甚至可以正常工作。

暫無
暫無

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

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