首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将mongoDB Docker镜像部署到弹性豆茎?

如何将mongoDB Docker镜像部署到弹性豆茎?
EN

Stack Overflow用户
提问于 2014-10-21 12:34:43
回答 2查看 2.6K关注 0票数 11

我正在使用Docker和aws Elastic Beanstalk运行我的多服务架构。其中一项服务是mongoDB Docker镜像。它应该公开端口27017,这样其他服务就可以通过该端口连接到mongo DB。不幸的是,Elastic Beanstalk内部的nginx只公开了80端口,所以我的服务不能连接到端口27017上的mongo DB。

我已经看过一些关于使用/.ebextensions文件夹中的配置文件的答案(https://stackoverflow.com/a/24831425/1116959),但我不知道如何使用它来解决这个问题。

我的体系结构还包括rabbitMQ服务和其他应用程序服务(python+celery)。有没有人知道开始使用Amazon VPC会更好?

感谢您的帮助,谢谢

EN

回答 2

Stack Overflow用户

发布于 2015-07-24 22:33:27

现在几个月过去了,这可以通过使用多容器Docker环境类型来实现:http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/create_deploy_docker_ecs.html

这是一个概念验证Dockerrun.aws.json,我还没有在生产中使用过:

代码语言:javascript
复制
{
  "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"
        }
      ]
    }
  ]
}

该方法要求将环境类型设置为多容器Docker,并将安全组附加到允许从数据库客户端访问端口27017的Elastic Beanstalk环境。

票数 2
EN

Stack Overflow用户

发布于 2014-12-25 00:04:11

Dockerrun.aws.json有一个完整的端口部分。您可以使用该配置文件而不是较低层的ebextensions配置文件。

代码语言:javascript
复制
{
  "AWSEBDockerrunVersion": "1",
  "Authentication": {
    "Bucket": "my-bucket",
    "Key": "mydockercfg"
  },
  "Image": {
    "Name": "janedoe/image",
    "Update": "true"
  },
  "Ports": [
    {
      "ContainerPort": "1234"
    }
  ],
  "Volumes": [
    {
      "HostDirectory": "/var/app/mydb",
      "ContainerDirectory": "/etc/mysql"
    }
  ],
  "Logging": "/var/log/nginx"
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26478962

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档