Docker-compose с контейнером cassandra не возвращается

У меня есть простой файл для создания докеров

 version: '3'
services:
  cassandra:
    image: "cassandra:3.11.4"
    container_name: leguan_cassandra
    ports:
      - "9042:9042"
    volumes:
      - ./build/cassandra:/var/lib/cassandra

который никогда не возвращается. Не могли бы вы привести пример, как docker-compose возвращается после того, как cassandra была готова и пригодна к использованию?

заранее спасибо Маркус

Я пытаюсь понять, что для вас означает «возврат», но если вы имеете в виду, что можете сохранить подсказку, попробуйте добавить -d или --detach к команде docker-compose up, например. docker-compose -d up

Hernan Garcia 01.03.2019 19:13

Также обратите внимание, что Docker Compose не берет на себя ответственность за проверку того, что какой-либо сервис «готов и пригоден для использования». Если вы используете docker-compose up -d или у вас есть другие сервисы в том же docker-compose.yml, Compose немедленно продолжит работу; если для запуска базы данных требуется некоторое время, Compose не будет этого ждать.

David Maze 01.03.2019 20:11

В настоящее время я пытаюсь использовать docker-compose для запуска кассандры перед модульными тестами и хочу остановить ее после этого. Поэтому я использую плагин gradle «com.avast.gradle:gradle-docker-compose-plugin:0.8.14», который вызывает docker-compose без -d. Так я правильно понял? Я должен запустить его с -d и ждать, пока база данных придет сама?

Markus Oley 01.03.2019 21:26
Развертывание модели машинного обучения с помощью Flask - Angular в Kubernetes
Развертывание модели машинного обучения с помощью Flask - Angular в Kubernetes
Kubernetes - это портативная, расширяемая платформа с открытым исходным кодом для управления контейнерными рабочими нагрузками и сервисами, которая...
Как создать PHP Image с нуля
Как создать PHP Image с нуля
Сегодня мы создадим PHP Image from Scratch для того, чтобы легко развернуть базовые PHP-приложения. Пожалуйста, имейте в виду, что это разработка для...
1
3
1 751
1

Ответы 1

Хорошо, спасибо за ваши ответы,

с этим docker-compose.yml теперь у меня работает:

version: '3'

services:
  cassandra:
    image: "cassandra:3.11.4"
    container_name: leguan_cassandra
    ports:
      - "9042:9042"
    volumes:
      - ./build/cassandra:/var/lib/cassandra
    healthcheck:
      test: ["CMD-SHELL", "[ $$(nodetool statusgossip) = running ]"]
      interval: 10s
      timeout: 5s
      retries: 50

Другие вопросы по теме