使用docker镜像的Azure Linux App Service中的Mongo连接错误

时间:2017-11-16 12:34:48

标签: node.js mongodb azure docker azure-cosmosdb

我已将docker镜像部署到包含节点应用程序的Azure Linux App Service。该应用无法正常启动,因为它无法连接到Mongo版本的Cosmo DB。

  

错误:MongoError:首次连接时无法连接到服务器[***。documents.azure.com:10255] [MongoError:getaddrinfo EAI_AGAIN ***。documents.azure.com:10255]

我使用mongoose和以下内容进行连接:

mongoose.connect(process.env.MONGODB_URL, { useMongoClient: true });

在我的机器上本地运行应用程序。有什么我想念的吗?一些DNS /防火墙设置?

Dockerfile:

FROM mhart/alpine-node:latest

# Create app directory
WORKDIR /usr/src/app

# Install app dependencies
COPY package.json package-lock.json ./

RUN npm install --production

# Bundle app source
COPY . .

EXPOSE 4000

CMD [ "node", "main.js" ]

2 个答案:

答案 0 :(得分:1)

是的,打开出站端口10250-10256和443以与Cosmos DB一起使用。另外,请确保您的mongodb连接字符串具有?ssl = true参数集。

答案 1 :(得分:0)

问题与我正在使用的图像有关:

FROM mhart/alpine-node:latest

在将此映像部署到Azure时,使用此映像似乎存在DNS问题。

切换使用

FROM node:latest

现在一切正常。