Dmi*_*kiy 4 amazon-ec2 amazon-web-services docker amazon-elastic-beanstalk
AWS Beanstalk可以从Docker容器运行应用程序。如文档(http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/create_deploy_docker_image.html)中所述,可以在Dockerrun.aws.json中将目录映射写入EC2卷:
"Volumes": [
{
"HostDirectory": "/var/app/mydb",
"ContainerDirectory": "/etc/mysql"
}
Run Code Online (Sandbox Code Playgroud)
但是,是否可以挂载特定的EBS音量?
我需要在Docker容器中运行db并使用Beanstalk进行部署。显然,我需要数据的持久性,数据库的备份/还原等。
您可以在任何Beanstalk环境中挂载EBS卷。该卷将在EC2实例上可用。
您可以使用ebextensions选项设置来执行此操作。在您的应用程序源中创建一个包含.ebextensions/01-ebs.config以下内容的文件:
option_settings:
- namespace: aws:autoscaling:launchconfiguration
option_name: BlockDeviceMappings
value: /dev/sdj=:100,/dev/sdh=snap-51eef269,/dev/sdb=ephemeral0
Run Code Online (Sandbox Code Playgroud)
映射的格式为device name = volume,其中设备映射指定为单个字符串,且映射之间用逗号分隔。此示例将一个100 GB的空Amazon EBS卷,具有快照ID snap-51eef269的Amazon EBS卷以及一个实例存储卷附加到自动伸缩组中的所有实例。
在此处阅读有关此选项设置的更多详细信息。在此处阅读有关ebextensions的更多信息。
一旦为beantalk环境实例安装了EBS卷,就可以根据需要使用上述卷映射来映射目录。
| 归档时间: |
|
| 查看次数: |
4883 次 |
| 最近记录: |