如何将mongoDB Docker镜像部署到Elastic Beanstalk?

Agu*_*ler 11 nginx mongodb amazon-web-services docker amazon-elastic-beanstalk

我使用Docker运行我的多服务架构并使用Elastic Beanstalk.其中一项服务是mongoDB Docker镜像.它应该公开端口27017,以便其他服务可以连接到该端口中的mongo DB.不幸的是,Elastic Beanstalk内部nginx只暴露端口80,因此我的服务无法连接到端口27017上的mongo DB.

我已经看到了一些答案(/sf/answers/1738199781/)围绕使用/.ebextensions文件夹中的一些配置文件,但我不知道如何使用该解决方法.

我的架构还包括rabbitMQ服务和其他应用程序服务(python + celery).有谁知道开始使用Amazon VPC是否更好?

任何帮助表示赞赏,谢谢

Usm*_*ail 1

Dockerrun.aws.json有一个完整的端口部分。您可以使用它来代替下层 ebextensions 配置文件。

{
  "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"
}
Run Code Online (Sandbox Code Playgroud)