Docker部署nodejs+ mongodb应用

发布于 2022-09-06 06:16:18 字数 1100 浏览 23 评论 0

一个nodejs+mongodb应用的应用。本地使用docker可以跑起来,但是使用DaoCloud部署应用的时候失败,查看了日志,是连接数据库的时候出现了问题.

nodejs连接mongodb

mongoose.connect('mongodb://mongo/dashboard', {
  useMongoClient: true
})
mongoose.Promise = global.Promise

Dockerfile

FROM node

WORKDIR /usr/src/app

COPY package*.json ./
RUN npm install --registry=https://registry.npm.taobao.org

COPY . .

CMD [ "npm", "start" ]

docker-compose.yml

version: '3'
services:
  app:
    build: app
    volumes: 
    - ./app:/usr/src/app
    - /usr/src/app/node_modules
    ports:
    - "3000:3000"
    depends_on:
    - mongo
  mongo:
    image: mongo
    ports:
    - "19999:27017"
    restart: always
  adminmongo:
    image: "mrvautin/adminmongo"
    ports:
    - "1234:1234"

因为本地开启了mongodb的服务,27017端口被占用,所以修改了端口, 本地测试的时候,一切功能正常。Robomongo也能连接到mongodb, 能看到数据。

错误提示:

MongoError: failed to connect to server [mongo:27017] on first connect [MongoError: getaddrinfo ENOTFOUND mongo mongo:27017]

但是部署到线上如何处理数据库, 请大佬指点

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文