Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mongodb 节点应用程序无法连接到我的ubuntu实例上的mongo映像_Mongodb_Docker_Ubuntu_Docker Compose_Keystonejs - Fatal编程技术网

Mongodb 节点应用程序无法连接到我的ubuntu实例上的mongo映像

Mongodb 节点应用程序无法连接到我的ubuntu实例上的mongo映像,mongodb,docker,ubuntu,docker-compose,keystonejs,Mongodb,Docker,Ubuntu,Docker Compose,Keystonejs,MongoServer选择错误:getaddrinfo ENOTFOUND mongo 是我尝试运行docker compose build时遇到的错误 这是我的docker-compse.yml文件 version: '3' services: app: container_name: node-app build: . ports: - "3000:3000" restart: always volumes:

MongoServer选择错误:getaddrinfo ENOTFOUND mongo

是我尝试运行docker compose build时遇到的错误

这是我的docker-compse.yml文件

version: '3'
services:
  app:
    container_name: node-app
    build: .
    ports:
      - "3000:3000"
    restart: always
    volumes:
      - ./uploads:/app/uploads
    links:
      - mongo
  mongo:
    container_name: mongo
    image: mongo
    volumes:
      - ./data:/data/db
    ports:
      - "27017:27017"
    command: mongod
还有我的Dockerfile

# https://docs.docker.com/samples/library/node/
ARG NODE_VERSION=12.10.0
# https://github.com/Yelp/dumb-init/releases
ARG DUMB_INIT_VERSION=1.2.2

# Build container
FROM node:${NODE_VERSION}-alpine AS build
ARG DUMB_INIT_VERSION

WORKDIR /home/node

RUN apk add --no-cache build-base python2 yarn && \
    wget -O dumb-init -q https://github.com/Yelp/dumb-init/releases/download/v${DUMB_INIT_VERSION}/dumb-init_${DUMB_INIT_VERSION}_amd64 && \
    chmod +x dumb-init
ADD . /home/node
RUN yarn install && yarn build && yarn cache clean

# Runtime container
FROM node:${NODE_VERSION}-alpine

WORKDIR /home/node

COPY --from=build /home/node /home/node

EXPOSE 3000
CMD ["./dumb-init", "yarn", "start"]
代码中的连接字符串是
mongodb://mongo:27017/{db_name}


当我运行
docker ps-a
时,我可以清楚地看到我的mongo图像在那里。我在谷歌上搜索了这个问题,并尝试了荒谬的连接字符串组合来尝试连接mongo,但有人有任何补充信息或调试建议来克服这个问题吗?

问题很可能是您在启动mongod时没有传递
--bind\u ip\u all
参数。默认情况下,mongod仅绑定到127.0.0.1,如前所述

您说过您在构建过程中遇到了这个问题?Dockerfile中的代码永远无法连接到其他容器;取决于数据库的任何步骤都需要在容器启动时进行。