我有一个 python 脚本,我试图在 docker 容器中正确运行它。我正在努力处理 DOCKERFILE 的 CMD 部分。
我可以让脚本从我的终端正确运行,通过打开交互式 python 控制台然后运行以下命令,根据脚本中的代码连续显示实时更新
exec(open(“coin_flip_demo_v1.0.py").read())
test = coin_flip_demo()
test._run_()
我的 DOCKERFILE 看起来像
FROM python:3.6
RUN mkdir src
ADD . /src/
RUN pip install pandas
WORKDIR /src/
EXPOSE 32768 32769 32770
CMD [ "python", "./coin_flip_demo_v1.0.py" ]
当我尝试运行容器时,它没有给出任何错误,但是当我运行 docker ps 时,没有容器显示
仅供引用
coin_flip_demo_v1.0.py 是我要运行的脚本
coin_flip_demo 是我在该脚本中的主要类
_run_ 是主类中的一个模块。
如果您需要更多信息来解决此问题,请告诉我。
谢谢
请您参考如下方法:
要在容器中运行交互式进程,您应该使用 -i -t 选项启动容器。
这为容器分配了一个 tty。
docker run -it <img>[:tag]
另请参阅 this 中的答案所以问题。
除了-it选项..你还应该让你的python脚本直接运行(正如你在Dockerfile中提到的那样)
您可以直接从终端运行脚本吗?像这样
python ./coin_flip_demo_v1.0.py
如果不在python文件末尾添加下面几行
if __name__ == '__main__':
test = coin_flip_demo()
test._run_()
