Контейнеры ссылок, настроенные в двух разных файлах docker-compose - PullRequest
0 голосов
/ 21 сентября 2018

Допустим, у меня есть две разные конфигурации 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 Ответ

0 голосов
/ 21 сентября 2018

Для ссылки на 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

...