在 AWS Elastic Beanstalk 上,使用 Docker,ebextensions 何時相對於 Docker RUN 和 CMD 條目運行?

在 AWS Elastic Beanstalk 上,使用 Docker,ebextensions 何時相對於 Docker RUN 和 CMD 條目運行?

我找不到任何有關啟動順序的文件(可能我只是沒有在正確的位置找到)。

在 Docker 方面,Dockerfile 中的所有內容都會一起執行,然後是在實際啟動伺服器後執行的 CMD 項目。

我想知道的是 ebextensions 中的命令何時相對於此運行?

是在 Dockerfile 發生之前嗎?在大量 Dockerfile 內容之後但在 CMD 之前還是在所有內容之後?

答案1

此頁面很有用:在 Linux 伺服器上客製化軟體 | AWS 彈性豆莖

在“命令”下,它顯示“在設定應用程式和 Web 伺服器並提取應用程式版本檔案之前運行”

在「容器命令」下,它表示「在設定應用程式和 Web 伺服器並且提取應用程式版本存檔後、但在部署應用程式版本之前運行」。

透過實驗,我認為事情是這樣的:

  1. 運行 ebextensions 命令
  2. 將 Docker 映像建置為“aws_beanstalk/staging-app”
  3. 執行 ebextensions 容器指令
  4. 將圖像重新命名為 aws_beanstalk/current-app
  5. 啟動影像

我可以從容器指令成功呼叫 staging-app 映像上的 run,這就是我所追求的。

相關內容