服务运行,可以通过docker-compose ping但容器A看不到容器B?

我正在运行一个节点应用程序(容器A),通过在Mac上的Docker运行一个快速微服务依赖项(容器B)。

容器A的Dockerfile

FROM node WORKDIR /usr/src/app COPY package.json package-lock.json ./ RUN npm install COPY . . EXPOSE 9000 CMD [ "node", "server.js" ] 

容器B的Dockerfile

 FROM node WORKDIR /usr/src/app COPY package.json package-lock.json ./ RUN npm install COPY . . EXPOSE 3000 CMD [ "node", "server.js" ] 

泊坞窗,compose.yml

 version: '3' services: containerA: build: . ports: - '127.0.0.1:9000:9000' links: - containerB containerB: build: ../containerB ports: - '127.0.0.1:3000:3000' 

当我运行docker-compose build然后docker-compose up时,容器A和B都按预期运行。 我也可以打localhost:3000 。 我也用docker-compose build && docker-compose run containerA ping containerB 。 当我调用我的应用程序(容器A)时,它表示无法连接到容器B.

 Error: connect ECONNREFUSED 127.0.0.1:3000 

我在这里错过了什么? 为什么容器A看不到容器B? 先谢谢了!