AWS ElasticBeanstalk Multidocker未使用正确的Cmd创buildECS任务

我使用multidocker选项在AWS ElasticBeanstalk上部署节点应用程序。 该应用程序似乎部署成功,但是,我注意到,应用程序(在我的docker)实际上并没有运行。

当我docker inspect <container_id>正在运行的容器docker inspect <container_id> ,看到"Cmd": null 。 如果我检查由beanstalk创build的ECS任务定义,我也看到"command": null" /

但是 ,如果我手动运行容器(通过docker run -d myimage:latest ),我看到"Cmd": ["node", "server.js"]和应用程序正确服务。 这是我的Dockerfile中包含的正确的CMD

我的ECS任务定义如何正确读取我的泊坞窗图像中的CMD 我想添加一个命令到我的Dockerrun.aws.json ? 我找不到任何文件。

Dockerrun.aws.json

 { "AWSEBDockerrunVersion": 2, "volumes": [ { "name": "node-app", "host": { "sourcePath": "/var/app/current/node-app" } } ], "containerDefinitions": [ { "name": "node-app", "image": "1234565.dkr.ecr.us-east-1.amazonaws.com/my-node-app:testing", "essential": true, "memory": 128, "portMappings": [ { "hostPort": 3000, "containerPort": 3000 } ] } ] } 

我有同样的问题。 对我来说,事实certificate, 入口点确实负责运行命令。 然而问题仍然存在,但是当你检查图像和检查容器时,看看你的入口点是什么样子可能会很有趣。

另请参阅: Dockerfile中的CMD和ENTRYPOINT有什么区别?