什么导致EB cli将文件名称1(app-123456-654321.zip)与文件名称2(9f1b.zip)打包在一起?
我有一个Docker容器,我试图部署到AWS弹性Beanstalk。 它可以docker build .
和eb local run
没有问题。 我使用弹性beanstalk cli和eb deploy
命令根据Dockerfile
和Dockerrun.aws.json
文件打包容器并将其部署到AWS。
最初,我能够成功部署。 最近,在对容器内容进行了几天的工作之后,我尝试重新部署一个更新的版本,并得到一个错误,将我的应用程序/容器列为“已降级”。
当我的容器成功部署时,运行eb deploy
创build了一个名称为app-123456_654321.zip
的zip文件(存储在S3容器中)。
目前,在非运行状态下,生成的zip文件的名称只有4个字符(数字和字母),如0f4d.zip
。 我一直在configuration不成功。
我能够重新下载较旧的档案,并成功地重新部署(与容器内容的更新)。 这导致我相信与弹性beanstalkconfiguration有关的东西已经改变,我不知道。
在项目文件夹和.elasticbeanstalk/config.yml
文件(参见下面的示例)中,好的和不好的档案之间没有明显的区别,除了不成功的yml在branch-defaults
有第二个docker
指令(见下文)除了default
指令。
这一切都是说,是什么导致eb cli归档为文件名1(app-123456-654321.zip)和文件名2(9f1b.zip)。 我希望这可以揭示一些变化。
示例config.yml文件:
branch-defaults: default: environment: eb-prod docker: environment: eb-prod global: application_name: eb-docker-app default_ec2_keyname: sample-key-file default_platform: 64bit Amazon Linux 2015.03 v2.0.0 running Docker 1.6.2 default_region: us-west-2 profile: eb-cli sc: null
eb deploy
使用的文件名基于ElasticBeanstalk应用程序版本的标签。 eb部署文档说您可以指定自己的标签,但不解释默认背后的逻辑。
如果你正在使用git,我相信默认的标签是从最近的标签和git commit hash生成的,这可能会解释你的“app-123456_654321.zip”。
如果你从相同的标签部署两次,我相信eb deploy
只是使用提交散列速记,希望解释你看到的短版本,如“0f4d.zip”。
- 用于服务HTTP / HTTPS请求的Beanstalk-Dockerconfiguration问题
- AWS上的Docker在以某种方式运行时填充其精简池?
- 在AWS Elastic Beanstalk上部署Dockerized Symfony2应用程序
- AWS Elastic Beanstalk更改已加载目录的权限
- 可以在AWS Elastic Beanstalk的Docker中设置–insecure-registry属性
- 从Docker Elastic Beanstalk容器中获取Elasticache地址
- Docker-Compose Up Works但Eb Local Run不行
- Elastic Beanstalk单容器泊坞窗 – 使用awslogslogging驱动程序
- 带有Docker和Elastic Beanstalk的企业应用程序