代码之家  ›  专栏  ›  技术社区  ›  Alp

在两个不同docker中配置的链接容器组成文件

  •  1
  • Alp  · 技术社区  · 6 年前

    docker-compose 配置:

    db.yml :

    version: '3'
    networks:
        default:
            external:
                name: backend
    
    volumes:
        mongo_data:
    
    services:
        mongodb:
            image: mongodb
            container_name: mongodb
            restart: always
            ports:
                - 27017:27017
            networks:
                - backend
            volumes:
                - mongo_data:/data/db
    

    admin.yml :

    version: '3'
    networks:
        default:
            external:
                name: backend
    
    volumes:
        mongo_data:
    
    services:
        mongoclient:
            image: mongoclient/mongoclient
            restart: always
            ports:
                - 3000:3000
            networks:
                - backend
            depends_on:
                - mongodb
            links:
                - mongodb
    

    这不起作用,因为链接容器未在同一文件中配置。但是有没有一种方法可以达到类似的效果呢?

    1 回复  |  直到 6 年前
        1
  •  2
  •   Julian Pieles    6 年前

    要链接到mongodb,您需要链接“external”:

    ...
    external_links:
            - project_mongodb_1:mongodb
    ...
    

    请注意,您需要更换 project_mongodb_1 docker-compose ps 给你的。你需要移除 depends_on 部分。这行不通。请看这里: https://github.com/docker/compose/issues/3951

    https://docs.docker.com/compose/compose-file/#external_links

    有关如何操作,请参见以下内容: https://stackoverflow.com/a/38089080/1029251