Я пытаюсь использовать docker-compose для запуска тестов непрерывной интеграции на сервере Jenkins.
Вот мой docker-compose.yml:
version: '3'
services:
elasticsearch:
container_name: elasticsearch_${INSTANCE}
image: docker.elastic.co/elasticsearch/elasticsearch:6.7.2
ports:
- 9200:9200
- 9300:9300
command: elasticsearch -E transport.host=0.0.0.0
environment:
ES_JAVA_OPTS: "-Xms2g -Xmx2g"
discovery-type: single-node
mainapp:
container_name: mainapp_${INSTANCE}
image: testbot:${INSTANCE}
environment:
ES_ADDRESS: http://elasticsearch_${INSTANCE}:9200
SUBSET: ${SUBSET}
DIRECTORY: ${DIRECTORY}
INSTANCE: ${INSTANCE}
TEST_CMD: ${TEST_CMD}
command: /bin/bash /mainapp/build/tests/wrapper.sh
Это прекрасно работает,но когда я пытаюсь запустить несколько тестов одновременно, ранее запущенный тест немедленно завершается с кодом 137. Я думаю, это потому, что сервисы привязаны к сети хоста, а я не могу сделать это с несколькими контейнерами.
Для моих целей две запущенные службы должны взаимодействовать только друг с другом, а не с хостом вообще. Я немного запутался в том, как именно это организовать.