我找不到任何有關啟動順序的文件(可能我只是沒有在正確的位置找到)。
在 Docker 方面,Dockerfile 中的所有內容都會一起執行,然後是在實際啟動伺服器後執行的 CMD 項目。
我想知道的是 ebextensions 中的命令何時相對於此運行?
是在 Dockerfile 發生之前嗎?在大量 Dockerfile 內容之後但在 CMD 之前還是在所有內容之後?
答案1
此頁面很有用:在 Linux 伺服器上客製化軟體 | AWS 彈性豆莖
在“命令”下,它顯示“在設定應用程式和 Web 伺服器並提取應用程式版本檔案之前運行”
在「容器命令」下,它表示「在設定應用程式和 Web 伺服器並且提取應用程式版本存檔後、但在部署應用程式版本之前運行」。
透過實驗,我認為事情是這樣的:
- 運行 ebextensions 命令
- 將 Docker 映像建置為“aws_beanstalk/staging-app”
- 執行 ebextensions 容器指令
- 將圖像重新命名為 aws_beanstalk/current-app
- 啟動影像
我可以從容器指令成功呼叫 staging-app 映像上的 run,這就是我所追求的。