繁体   English   中英

在Docker容器中运行Disco

[英]Running Disco in a Docker container

我需要在Docker容器中运行一个Python脚本(我目前以ENTRYPOINT命令执行“ disco_test.py”),该ENTRYPOINT将利用Disco(当然需要在该容器中运行)。 问题是我似乎无法使Disco在Dockerfile中以CMDRUN ,也无法从Python脚本本身(使用子流程模块)运行。

但是,如果我创建了没有ENTRYPOINT命令的其他映像,则使用docker run -i -t disco_test /bin/bash运行它,然后打开Python shell,则可以使用子进程模块成功地使Disco运行(只需使用call(["disco", "start"])起作用)。 退出Python Shell之后,我确实可以验证Disco仍在正常运行( disco status报告“ Master 0cfddb8fb0e4:8989正在运行”)。 当我尝试从“ disco_test.py”(以ENTRYPOINT命令执行)的相同方式(使用call(["disco", "start"]) )启动Disco时,它不起作用! 它将打印“ Master 0cfddb8fb0e4:8989启动”,但是之后检查disco status始终显示“ Master 0cfddb8fb0e4:8989已停止”。

ENTRYPOINT命令的运行方式是否有某些问题,使我无法从相应的Python脚本中运行Disco? 实际上,在我的机器上(不在Docker容器中)运行“ disco_test.py”确实可以使Disco启动并成功运行。

任何见解或建议,将不胜感激!

我猜想它的运行是守护进程,退出后立即停止容器。 您可以尝试将这些容器使用dockerized迪斯科 它使用主管来运行迪斯科舞厅。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM