我有一个带有几个容器的环境。其中一些是相互联系的。当我使用“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
}
]
}
]
}
答案 0 :(得分:0)
Docker一段时间后切换到基于DNS的查找,而不是向/ etc / hosts添加条目。也不鼓励链接,而是使用容器的公共网络。
答案 1 :(得分:0)
好的,这是一个本地问题。我将Docker和EB cli升级到最新版本,这解决了这个问题。我不确定为什么EB cli以前没有为etc / hosts添加别名,但是在升级后它确实如此。现在我通过使用“docker-compose up”或“eb local run”获得相同的结果。所有链接的容器现在都已链接,并按预期工作。