具有Docker和持久存储的弹性Beanstalk

我们开发了一个Java Web应用程序,目前我正在尝试重新configuration,以便能够将其部署在Docker上,并最终将容器放在EBS上。

目前该应用程序正在裸机服务器上运行。

我外部化了环境特定的应用程序configuration。 我能够将我的应用程序部署在泊坞窗图像上。 下一步是把所有东西都放在EBS上。

我的问题是,应用程序允许用户上传文件。 这些文件当前保存在主机上。 EBS对我来说是一个问题,因为我想为Web层运行多个实例。

将来我想从文件系统切换到S3来解决问题。 但目前我需要一个低预算的解决scheme…是否有一种方法来共享EBS内的多个docker集装箱之间的卷?

没有EBS,我只会介绍一个链接到每个实例的“数据容器”。 这个容器保存所有上传的文件…

但是,我认为这不可能在一个EBS申请权范围内实现?

或者可以运行多个Web容器并将它们链接到一个中央容器?

我花了最后的观察日将所有的二进制文件移动到S3。 现在应用程序不在本地存储任何文件,这使我可以启动我的Web层的多个实例

AWS有一个可以连接到多个EC2实例的弹性文件存储(EFS)。 它是一个用于共享文件的networking存储,可用于在应用程序中具有持久性存储,并且比将现有EBS卷附加到单个实例beanstalk环境更易于使用。

http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/services-efs.html