MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Wie stellt man ein MongoDB-Docker-Image in Elastic Beanstalk bereit?

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.