[英]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應用程序)時,它立即崩潰
因此,您有一個已損壞的應用程序,並且正在尋找使它看起來有些奏效的合並程序。 這根本不是一種可靠的方法。
相反,您應該:
systemctl
或upstart
來管理崩潰時Erlang VM的重啟 請注意,在哪里編譯應用程序很重要。 它必須是與生產版本完全相同的體系結構/容器,並具有相同的Erlang,Elixir,OS版本,否則,沒有人保證它會健壯甚至可以正常工作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.