Elastic Beanstalk Multicontainer Docker环境:对于有衬里的容器,etc / hosts中没有条目

时间:2016-07-19 12:58:58

标签: amazon-web-services docker elastic-beanstalk

我有一个带有几个容器的环境。其中一些是相互联系的。当我使用“docker-compose up -d”运行环境时,它会在etc / hosts中为链接容器创建条目。当我使用“eb local run”运行它时,不会创建任何条目。那是为什么?

我的Dockerrun.aws.json

var RNFetchBlob = require('react-native-fetch-blob').default;

这会生成docker-compose.yml:

{
      "AWSEBDockerrunVersion": 2,
      "containerDefinitions": [
        {
          "name": "api",
          "image": "php7",
          "essential": true,
          "memory": 128,
          "portMappings": [
            {
              "hostPort": 8080,
              "containerPort": 80
            }
          ],
          "mountPoints": [
            {
              "sourceVolume": "api",
              "containerPath": "/var/www/html/"
            }
          ]
        },
        {
          "name": "nodeapi",
          "image": "nodejs",
          "essential": true,
          "memory": 256,
          "portMappings": [
            {
              "hostPort": 5000,
              "containerPort": 5000
            }
          ],
          "mountPoints": [
            {
              "sourceVolume": "nodeapi",
              "containerPath": "/var/www/app/"
            }
          ],
          "Logging": "/var/eb_log"
        },
        {
          "name": "proxy",
          "image": "nginx",
          "essential": true,
          "memory": 128,
          "links": [
            "api",
            "nodeapi"
          ],
          "portMappings": [
            {
              "hostPort": 8443,
              "containerPort": 80
            }
          ]
        }
      ]
    }

2 个答案:

答案 0 :(得分:0)

Docker一段时间后切换到基于DNS的查找,而不是向/ etc / hosts添加条目。也不鼓励链接,而是使用容器的公共网络。

答案 1 :(得分:0)

好的,这是一个本地问题。我将Docker和EB cli升级到最新版本,这解决了这个问题。我不确定为什么EB cli以前没有为etc / hosts添加别名,但是在升级后它确实如此。现在我通过使用“docker-compose up”或“eb local run”获得相同的结果。所有链接的容器现在都已链接,并按预期工作。