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

在两个不同docker中配置的链接容器构成文件,docker,continuous-integration,docker-compose,devops,Docker,Continuous Integration,Docker Compose,Devops,假设我有两种不同的docker compose配置: db.yml: version: '3' networks: default: external: name: backend volumes: mongo_data: services: mongodb: image: mongodb container_name: mongodb restart: always

假设我有两种不同的
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
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
admin.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
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
这将不起作用,因为链接容器未在同一文件中配置。但是,有没有办法实现类似的目标


我希望有一个更干净的设置来设置我的生产环境,这样我就可以只重新启动已更改的相关位,而不是一次重新启动所有内容。

要链接到mongodb,您需要链接“外部”:

请注意,您需要使用
docker compose ps
为您提供的正确名称替换
project\u mongodb\u 1
。您需要删除
依赖
部分。这行不通。请看这里:

但是,您不应该使用链接,因为它们已被弃用。有关更多信息,请参见此处:


有关如何执行此操作,请参见:

容器的可能副本已经在同一网络中,并且应该能够通信。你想达到什么样的目标?(启动顺序或连接)后端网络是否已经存在?谢谢,它确实是重复的。可能是重复的