Мне нужно запустить сценарий Python в контейнере Docker (в настоящее время у меня есть исполнение «disco_test.py» в качестве моей команды ENTRYPOINT
), которая будет использовать Дискотека (которая, конечно же, должна быть запущена в этом контейнере). Проблема в том, что я не могу заставить Disco работать либо с CMD
, либо с RUN
в файле Docker, либо из самого скрипта Python (используя модуль подпроцесса).Запуск Дискотека в контейнере Docker
Если, однако, я создаю иначе идентичное изображение без ENTRYPOINT
команды, запустить его с docker run -i -t disco_test /bin/bash
, а затем открыть оболочку Python, я могу успешно получить Дискотека работает с помощью модуля подпроцесс (просто используя call(["disco", "start"])
работы). После выхода из оболочки Python я действительно могу проверить, что Disco все еще работает правильно (disco status
сообщает «Master 0cfddb8fb0e4: 8989 running»). Когда я пытаюсь запустить Disco таким же образом (используя call(["disco", "start"])
) изнутри «disco_test.py», который я выполняю как команду ENTRYPOINT
, он не работает! Он будет печатать «Master 0cfddb8fb0e4: 8989 запущен», однако проверка disco status
после этого ВСЕГДА показывает «Мастер 0cfddb8fb0e4: 8989 остановлен».
Есть ли что-то о том, как выполняется команда ENTRYPOINT
, что мешает мне получить Disco из соответствующего скрипта Python? Запуск «disco_test.py» на моей машине (не в контейнере Docker) действительно ускоряет и работает Диско.
Любые идеи или предложения были бы оценены с благодарностью!