При вызове docker-compose в разных каталогах у меня возникают конфликтные ошибки и проблемы с сетью:
Проблема с конфликтами
docker-compose.yml
version: '3'
services:
redis:
image: "redis:alpine"
container_name: redis
I.создать и запустить Docker-контейнер с помощью docker-compose => OK
$ docker-compose up --force-recreate -d
Creating redis ... done
II.пересоздать и запустить Docker-контейнер с помощью docker-compose => OK
$ docker-compose up --force-recreate -d
Recreating redis ... done
III.скопируйте docker-compose.yml в другой каталог.Затем попробуйте воссоздать из другого каталога => ОШИБКА
$ cp docker-compose.yml red2/
$ cd red2/
$ docker-compose up --force-recreate -d
Creating redis ... error
ERROR: for redis Cannot create container for service redis: Conflict. The container name "/redis" is already in use by container "1ba060b545f716731ac1c5992b680e4d4b3639fc0ffeb291899c712f0839d23a". You have to remove (or rename) that container to be able to reuse that name.
ERROR: Encountered errors while bringing up the project.
Разные сети
Контейнеры, созданные из docker-compose в разных каталогах, также не разделяют одну и ту же сеть.
$ docker network ls
NETWORK ID NAME DRIVER SCOPE
4a4af52e89cd red2_default bridge local
57695428bd9d redis_default bridge local
Usecase
Мой сценарий использования для этого сценария:
- Вызов docker-compose из разных заданий развертывания.
- Запустить контейнеры для тестирования
Вопросы
- Почему существует зависимость от каталога?Есть ли возможность отключить его?
- Показывает ли
docker ps
, какой каталог использовался?