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