Как запустить контейнер в фоновом режиме при использовании docker compose - PullRequest
0 голосов
/ 16 ноября 2018

Я использовал docker-compose up -d.но мой контейнер Docker завершает работу после выполнения моего сценария.Это мой ниже файл docker-compose.yml.Я хочу запустить докер-контейнер в фоновом режиме.

    version: "3"
    services:
      master:
        build: .
        command: sh /opt/spark/sbin/start-master.sh
        ports:
          - 8080:8080
          - 8081:8081
          - 7077:7077
          - 4040:4040
      worker:
        depends_on:
          - master
        deploy:
          - replicas: 2
          - endpoint_mode: dnsrr
        build: .
        command: sh /opt/spark/sbin/start-slave.sh spark://172.17.0.2:7077
        ports:
          - 9080:8080
          - 9081:8081
          - 9077:7077
          - 9040:4040

================

    $ docker container ps -a
    CONTAINER ID        IMAGE                  COMMAND                  CREATED             STATUS                   PORTS               NAMES
    975a3af7dc27        mysparkdocker_master   "sh /opt/spark/sbin/…"   41 minutes ago      Exited (0) 18 seconds ago                       mysparkdocker_master_1
    e52cf60c820c        mysparkdocker_worker   "sh /opt/spark/sbin/…"   41 minutes ago      Exited (0) 17 seconds ago                       mysparkdocker_worker_1

===================================

1 Ответ

0 голосов
/ 16 ноября 2018

Проблема заключается в том, что ваши сценарии оболочки, вероятно, разрабатывают себя для создания демона, тогда как в модели Docker вы на самом деле не хотели бы, чтобы они сами демонизировались, потому что процесс завершится и тем самым остановит контейнер.

...