我已将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" ]
答案 0 :(得分:1)
是的,打开出站端口10250-10256和443以与Cosmos DB一起使用。另外,请确保您的mongodb连接字符串具有?ssl = true参数集。
答案 1 :(得分:0)
问题与我正在使用的图像有关:
FROM mhart/alpine-node:latest
在将此映像部署到Azure时,使用此映像似乎存在DNS问题。
切换使用
FROM node:latest
现在一切正常。