在工作层Elastic Beanstalk泊坞窗容器上缺less供应商目录

我有一个Symfony 3工作应用程序来处理webhook订阅。 我正在运行composer php安装和构build容器图像,标记并推送到EC2容器registry。 当我用下面的代码创build一个docker-compose文件时:

 version: "2" services: application: image: <ACCOUNT ID>.dkr.ecr.eu-west-1.amazonaws.com/webhook-worker:latest 

然后运行docker-compose up -d ,然后运行docker-compose up -d docker-compose exec application ls ,我看到了vendor目录。 一切都好。

但是,当使用以下Dockerrun.aws.json文件由EB实例拉取图像时:

 { "AWSEBDockerrunVersion": "1", "Image": { "Name": "<ACCOUNT ID>.dkr.ecr.eu-west-1.amazonaws.com/webhook-worker:latest", "Update": "true" }, "Ports": [ { "ContainerPort": "80" } ], "Logging": "/var/www/html/var/logs/" } 

然后我以root身份进入容器,并运行docker等价物, vendor目录丢失。

我错过了什么吗? 我真的不想在部署之后在容器中运行composer php – 它可能会失败,部署将失败 – 我不应该这样做。

我试图从AWS获得支持,但努力获取有关可能导致此行为的任何有用信息。

我不认为这是在EB重build容器,因为我的.dockerignore文件中排除的文件/目录不存在。