Я пытаюсь контейнеризовать нашу среду разработки с помощью docker. Это включает в себя сочетание проектов Google Appengine, а также сервисов, которые в конечном итоге размещаются в движке Google Compute в контейнере vm.
В наших сценариях начальной загрузки среды разработки elasticsearch и nginx в boot2docker, а другие приложения запускаются на localhost: {порт продукта} в изолированной песочнице dev_appserver appengine. Этот процесс трудно справиться и поддерживать, поскольку он требует большого понимания того, как наши приложения обмениваются данными.
Я получаю сообщение об ошибке с docker-compose, которая обнаруживает циклическую зависимость между контейнерами.
Циклический импорт между cs и vbc и aa и sr.
Поскольку эта конфигурация предназначена только для сред разработки (mac osx), у кого-нибудь есть предложения или идеи по другому подходу, которые нужно предпринять при объединении всех зависимостей между наборами продуктов.
Часть файла docker-compose.yml:
elasticsearch:
build: ./compute/containers/elasticsearch/elasticsearch
ports:
- "9200:9200"
environment:
- PROJECT_ID=localhost
nginx:
build: ./compute/containers/elasticsearch/nginx
links:
- elasticsearch:localhost
ports:
- "9201:9201"
cs:
build: ./CS
command: dev_appserver.py /src/ --host=0.0.0.0 --admin_host=0.0.0.0 --port=8080 --admin_port=9080 --storage_path=/data/
ports:
- "8080:8080"
- "9080:9080"
volumes:
- /Users/source/CS/src:/src
- /Users/source/CS/data:/data
aa:
build: ./AA
command: dev_appserver.py /src/ --host=0.0.0.0 --admin_host=0.0.0.0 --port=8081 --admin_port=9081 --storage_path=/data/
links:
- vbc:vbc-local
- st:st-local
- elasticsearch:localhost
ports:
- "8081:8081"
- "9081:9081"
volumes:
- /Users/source/AA/src:/src
- /Users/source/AA/data:/data
vbc:
image: google/cloud-sdk
command: dev_appserver.py /src/ --host=0.0.0.0 --admin_host=0.0.0.0 --port=8082 --admin_port=9082 --storage_path=/data/
links:
- cs:cs-local
- sr:sr-local
- sm:sm-local
- ms:ms-local
- st:st-local
- cis:cis-local
- elasticsearch:localhost
ports:
- "8082:8082"
- "9082:9082"
volumes:
- /Users/source/VBC/src:/src
- /Users/source/VBC/data:/data
sr:
build: ./SR
command: dev_appserver.py /src/ --host=0.0.0.0 --admin_host=0.0.0.0 --port=8083 --admin_port=9083 --storage_path=/data/
links:
- cs:cs-local
- aa:aa-local
ports:
- "8083:8083"
- "9083:9083"
volumes:
- /Users/source/SR/src:/src
- /Users/source/SR/data:/data