![](/img/trans.png)
[英]Docker run arguments/commands with Elastic Beanstalk Dockerrun.aws.json
[英]Elastic Beanstalk with Docker running on 64bit Amazon Linux 2/3.2.2 and Dockerrun.aws.json v3
有人可以指點我正確的 Dockerrun.aws.json v3 文檔。 我已經谷歌了很多次,但找不到這個 v3 文檔。
我正在嘗試使用在 64 位 Amazon Linux 2/3.2.2 上運行的 Docker 對彈性 beanstalk 進行多容器部署,但到目前為止沒有成功。
到目前為止,我正在使用 Dockerrun.aws.json v2 格式,這似乎不適用於這個 docker 平台。
{
"AWSEBDockerrunVersion": 2,
"containerDefinitions": [
{
"name": "simple-ui",
"image": "my-image-located-in-ECR",
"essential": true,
"memory": 128,
"portMappings": [
{
"hostPort": 80,
"containerPort": 3000
}
],
"command": ["npm","start"]
}
]
}
以下是我在 EB 日志中看到的錯誤:
2020/12/09 18:55:34.954345 [錯誤] 執行命令 [app-deploy] - [Docker 特定構建應用程序] 期間發生錯誤。 停止運行命令。 錯誤:解析 Dockerrun.aws.json 文件失敗,錯誤為 json:無效使用,字符串結構標記,試圖將未加引號的值解組為 int
2020/12/09 18:55:34.954356 [INFO] 執行清理邏輯 2020/12/09 18:55:34.954437 [INFO] CommandService 響應:{"status":"FAILURE","api_version":"1.0"," results":[{"status":"FAILURE","msg":"引擎執行遇到錯誤。","returncode":1,"events":[{"msg":"實例部署:'Dockerrun.源包中的 aws.json' 指定了一個不受支持的版本。Elastic Beanstalk 僅支持非 compose 應用程序的版本 1 和 compose 應用程序的版本 3。部署失敗。","timestamp":1607540134,"severity":"ERROR"} ,{"msg":"實例部署失敗,詳情參見'eb-engine.log'。","timestamp":1607540134,"severity":"ERROR"}]}]}
提前謝謝你的幫助。 拉賓
Docker 運行在 64 位亞馬遜 Linux 2/3.2.2
您正在使用Docker running on 64bit Amazon Linux 2/3.2.2
,作為錯誤寫入,它僅用於Dockerrun.aws.json v1
。
要使用 v2,您必須使用 EB 平台:
Multi-container Docker running on 64bit Amazon Linux
多容器 docker 平台已被棄用,並且缺少許多您可以在 EB 上的普通 jane Docker 平台中找到的功能。 但是,正如您在上面注意到的那樣,這些文檔非常令人困惑。 查看此堆棧溢出帖子以獲取更多詳細信息。
使用 64 位 Amazon Linux 2 進行多容器設置,確保 elasticbeanstalk buildspec.yml
具有這兩個文件工件非常重要
artifacts:
files:
- 'Dockerrun.aws.json'
- 'docker-compose.yml'`
您可以通過以下方式驗證文件是否在源中:
Elastic Beanstalk > 應用程序 > { 應用程序名稱 } > 應用程序版本
然后單擊最新應用程序的源以下載該文件夾。
我只是將 Dockerrun.aws.json 發送到 EBS,然后想知道為什么我遇到了與您相同的 v1 v3 錯誤。 事后看來,這很有意義,需要 docker-compose.yml。
我也有同樣的擔憂。 我將版本1的“Dockerrun.aws.json”中“AWSEBDockerrunVersion”的值改為“3”,然后部署。
然后,奇怪的是,顯示了以下消息。
實例部署:源包中的“Dockerrun.aws.json”指定了不受支持的版本。 Elastic Beanstalk 僅支持非撰寫應用程序的版本 1 和撰寫應用程序的版本 3。 部署失敗。
這意味着您可以只為 Amazon Linux 2 AMI 使用 json 版本 1。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.