Jetzt, einige Monate später, ist dies möglich, indem der Multicontainer-Docker-Umgebungstyp verwendet wird:http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/create_deploy_docker_ecs.html .
Hier ist ein Proof-of-Concept Dockerrun.aws.json, das ich noch nicht in der Produktion verwendet habe:
{
"AWSEBDockerrunVersion": 2,
"volumes": [
{
"name": "mongo-app",
"host": {
"sourcePath": "/var/app/current/mongo-app"
}
}
],
"containerDefinitions": [
{
"name": "mongo-app",
"image": "mongo",
"essential": true,
"memory": 6000,
"command": ["mongod","--storageEngine=wiredTiger","--logpath=/var/log/mongodb/mongo.log"],
"portMappings": [
{
"hostPort": 27017,
"containerPort": 27017
}
],
"mountPoints": [
{
"sourceVolume": "mongo-app",
"containerPath": "/data/db"
},
{
"sourceVolume": "awseb-logs-mongo-app",
"containerPath": "/var/log/mongodb"
}
]
}
]
}
Dieser Ansatz erfordert, dass der Umgebungstyp auf Multicontainer-Docker festgelegt ist und dass eine Sicherheitsgruppe an die Elastic Beanstalk-Umgebung angefügt ist, die den Zugriff auf Port 27017 von Datenbankclients ermöglicht.