Node.js Docker编写连接被拒绝

Node.js Docker编写连接被拒绝,node.js,docker,docker-compose,Node.js,Docker,Docker Compose,我在尝试点击Docker容器中运行的NodeJS服务器时遇到“连接被拒绝”错误。如果我试图从主机上对服务器进行cURL,就会出现错误“cURL:(56)Recv failure:Connection reset by peer” 当我运行sudo docker compose up-d时,它会启动我的服务,并运行sudo docker ps-a显示以下内容: CONTAINER ID IMAGE COMMAND CRE

我在尝试点击Docker容器中运行的NodeJS服务器时遇到“连接被拒绝”错误。如果我试图从主机上对服务器进行cURL,就会出现错误“cURL:(56)Recv failure:Connection reset by peer”

当我运行
sudo docker compose up-d
时,它会启动我的服务,并运行
sudo docker ps-a
显示以下内容:

CONTAINER ID        IMAGE                COMMAND                  CREATED              STATUS              PORTS                    NAMES
e56b30b1de9c        mongo:4.1.8-xenial   "docker-entrypoint.s…"   About a minute ago   Up About a minute   27017/tcp                db
0d82b0a881e5        nodejs               "docker-entrypoint.s…"   About a minute ago   Up About a minute   0.0.0.0:3000->3000/tcp   nodejs
容器在IP为“192.168.0.24”的服务器上运行,因此我尝试通过“192.168.0.24:3000/items”在我的“nodejs”应用程序中命中一个端点,但这会导致连接被拒绝错误

docker compose.yml

version: '3'

services:
  nodejs:
    build:
      context: .
      dockerfile: Dockerfile
    image: nodejs
    container_name: nodejs
    restart: unless-stopped
    env_file: .env
    environment:
      - MONGO_USERNAME=$MONGO_USERNAME
      - MONGO_PASSWORD=$MONGO_PASSWORD
      - MONGO_HOSTNAME=db
      - MONGO_PORT=$MONGO_PORT
      - MONGO_DB=$MONGO_DB
    ports:
      - "3000:3000"
    volumes:
      - .:/home/node/app
      - /home/node/app/node_modules
    networks:
      - app-network
    command: ./wait-for.sh db:27017 -- /home/node/app/node_modules/.bin/nodemon app.js
  db:
    image: mongo:4.1.8-xenial
    container_name: db
    restart: unless-stopped
    env_file: .env
    environment:
      - MONGO_INITDB_ROOT_USERNAME=$MONGO_USERNAME
      - MONGO_INITDB_ROOT_PASSWORD=$MONGO_PASSWORD
    volumes:
      - dbdata:/data/db
    networks:
      - app-network

networks:
  app-network:
    driver: bridge

volumes:
  dbdata:
  node_modules:
Dockerfile

FROM node:10-alpine
RUN mkdir -p /home/node/app/node_modules && chown -R node:node /home/node/app
WORKDIR /home/node/app
COPY package*.json ./
USER node
RUN npm install
COPY --chown=node:node . .
EXPOSE 3000
CMD [ "npm", "app.js" ]

Docker运行在什么主机操作系统/环境中?是否启用了防火墙(软件或硬件)?也可以从Docker主机访问容器中的端口3000,而无需通过网络?仅仅是使用localhost?@doublesharp我正在用ubuntu20.04在树莓皮上运行Docker
curl localhost:3000
返回“curl:(56)Recv失败:对等方重置连接”。我运行了
ufw status
来检查防火墙,但它的响应是“status:inactive”。Docker运行在哪个主机操作系统/环境中?是否启用了防火墙(软件或硬件)?也可以从Docker主机访问容器中的端口3000,而无需通过网络?仅仅是使用localhost?@doublesharp我正在用ubuntu20.04在树莓皮上运行Docker
curl localhost:3000
返回“curl:(56)Recv失败:对等方重置连接”。我运行了
ufw status
来检查防火墙,但它的响应是“status:inactive”。