【发布时间】:2015-01-26 22:28:50
【问题描述】:
我有一个使用 Docker 的 beanstalk 环境。
每次我推送一些东西时,jenkins 都会构建我的新快照并将其上传到 S3。 (我使用 S3 来存储我的版本)。每个版本都是一个 zip,其中包含我的应用程序和我的 Dockerfile。
然后我用我刚刚上传的版本更新我的BS环境。(BS用上传到S3的版本创建一个新版本,如果版本存在则替换它,它对快照有用)。
我第一次部署该版本时一切正常。 但是当我第二次这样做时,它继续工作,但似乎我的最后一个版本没有使用。 Docker 不会重新构建我刚刚更新的应用程序。
为什么会这样?我错过了什么吗?这是我的Dockefile
【问题讨论】:
-
我不确定我是否理解您在 S3 和您的 docker 容器之间的链接。你的代码是如何移动的?您是在 EB 上部署 docker 容器还是使用特定语言的部署? ?
-
如果您正在部署 docker 容器,EB 无法检测到更改。因为 Docker 文件没有改变。通过 VOLUME 挂载的卷绕过联合文件系统。 EB 看不到那里的变化
-
我更新了帖子以更清晰。那么,我如何告诉 EB 我的应用发生了变化?
-
但是 EB 实例如何知道实例上的 /root/wisdom 和 /repository 是什么。这些与您的构建环境有关吗?还是这些部署在 EC2 实例上?如果是后者,怎么办?我仍然想念这里。对不起
-
另一种方式来问我的问题:容器建在哪里?在 CI 服务器上还是在 EB 实例上?
标签: amazon-web-services jenkins amazon-s3 docker amazon-elastic-beanstalk