具有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
- 使用Elastic Beanstalk在AWS上转到Web应用程序,不会在日志中显示输出
- Docker镜像里面的进程是否仍然需要pipe理?
- 在AWS上监控和扩展基于Docker的Celery工作者群集
- 如何将docker-compose.yml转换为Django的Dockerrun.aws.json
- Go和Docker:当我使用stdlib时,我能够运行一个去web服务器,当我使用自定义包发生错误
- AWS Docker Golang。 'eb deploy'错误
- replaceAWS Elastic BeanStalk上的特定实例?
- 在Elastic Beanstalk / Docker Nginx / PHP-FPM实例中访问客户端IP
- 在Elastic Beanstalk中暴露Docker的多个端口