Use/reference 不同服务中的容器名称 docker 组成

Use/reference container name in a different service with docker compose

我的 docker-compose.yml 文件如下所示:

version: '3.7'

networks: 
  myNetwork:

volumes:
  mongo_data:

services:

  db:
    image: mongo
    restart: always
    networks: 
      - myNetwork
    volumes: 
      - mongo_data:/data/db
    ports: 
        - "27017:27017"

  mongoExpress:
    image: mongo-express
    networks: 
      - myNetwork
    ports:
      - "8081:8081"
    environment: 
      - ME_CONFIG_MONGODB_SERVER=<db-container-name>
    depends_on: 
      - db

要使 mongo-express 正常工作,我需要能够将 db/mongo 容器名称传递给它。有没有办法用 compose 实现这个?

服务名称是由 compose 创建的网络 (myNetwork) 上的主机名。

您可以使用 db 作为 <db-container-name>

的主机名和值

ME_CONFIG_MONGODB_SERVER=db