具有 Docker 和持久存储的 Elastic Beanstalk
Elastic Beanstalk with Docker and Persistent Storage
我们开发了一个 Java Web 应用程序,我目前正在尝试重新配置它以便能够将其部署在 docker 上,最后将容器放在 EBS 上。
目前应用程序运行正在裸机服务器上运行。
我外部化了特定于环境的应用程序配置。我能够在 docker 图像上部署我的应用程序。下一步是将所有内容都放在 EBS 上。
我遇到的问题是,该应用程序允许用户上传文件。这些文件当前保存在主机上。对于 EBS,这对我来说是个问题,因为我想 运行 Web 层的多个实例。
将来我想从文件系统切换到 S3,这将解决问题。但目前我需要一个低预算的解决方案...有没有办法在 EBS 中的多个 docker 容器之间共享一个卷?
如果没有 EBS,我只想介绍一个 "Data Container",它被 linked 到每个实例。此容器包含所有上传的文件...
但我认为这不可能在一个 EBS 应用程序中实现,对吗?
或者是否可以 运行 多个 Web 容器并将它们 link 到一个中央容器?
我花了最后几天的时间将所有二进制文件移至 S3。现在该应用程序未在本地存储任何文件,这使我可以启动 Web 层的多个实例
AWS 有一个弹性文件存储 (EFS),可以附加到多个 EC2 实例。它是一个用于共享文件的网络存储,可用于在应用程序中拥有持久存储,并且比将现有 EBS 卷附加到单实例 beanstalk 环境更易于使用。
http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/services-efs.html
我们开发了一个 Java Web 应用程序,我目前正在尝试重新配置它以便能够将其部署在 docker 上,最后将容器放在 EBS 上。
目前应用程序运行正在裸机服务器上运行。
我外部化了特定于环境的应用程序配置。我能够在 docker 图像上部署我的应用程序。下一步是将所有内容都放在 EBS 上。
我遇到的问题是,该应用程序允许用户上传文件。这些文件当前保存在主机上。对于 EBS,这对我来说是个问题,因为我想 运行 Web 层的多个实例。
将来我想从文件系统切换到 S3,这将解决问题。但目前我需要一个低预算的解决方案...有没有办法在 EBS 中的多个 docker 容器之间共享一个卷?
如果没有 EBS,我只想介绍一个 "Data Container",它被 linked 到每个实例。此容器包含所有上传的文件...
但我认为这不可能在一个 EBS 应用程序中实现,对吗?
或者是否可以 运行 多个 Web 容器并将它们 link 到一个中央容器?
我花了最后几天的时间将所有二进制文件移至 S3。现在该应用程序未在本地存储任何文件,这使我可以启动 Web 层的多个实例
AWS 有一个弹性文件存储 (EFS),可以附加到多个 EC2 实例。它是一个用于共享文件的网络存储,可用于在应用程序中拥有持久存储,并且比将现有 EBS 卷附加到单实例 beanstalk 环境更易于使用。
http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/services-efs.html