[英]Run 2 Script at same time on Docker
我有一个项目,当我运行 mu Docker Image 时,我需要运行 2 个脚本。 其中两个这个脚本有无限循环。 所以他们都不会停下来。
我试过使用:
CMD ["python3", "main.py", "btcusdt"]
CMD ["python3", "Flask_API/api_main.py"]
但我发现只有最后一行 CDM 有效。
有没有办法做到这一点? 还是应该拆分我的代码并创建 2 个 Docker 映像?
谢谢你的时间。
这是我当前不工作的 Dockerfile:
FROM python:3.8
COPY requirements.txt requirements.txt
RUN pip install -r requirements.txt
COPY . .
CMD ["python3", "main.py", "btcusdt"]
CMD ["python3", "Flask_API/api_main.py"]
如果 dockerfile 中的CMD
指令多于一条,则只能有一条,最后一条会覆盖之前的CMD
指令。
我认为更好的方法是创建单独的 docker 容器并相互交谈。 这是一个教程:如何在 docker 容器之间进行通信
但是如果你真的需要在一个容器中运行这两个脚本,
这是方法
#!/bin/bash
exec python3 main.py btcusdt &
exec python3 Flask_API/api_main.py
COPY
指令添加到 Dockerfile 以将我们的 bash 脚本复制到容器并通过RUN
指令允许可执行权限。COPY script.sh ./
RUN chmod a+x script.sh
CMD
指令来执行我们的 bash 脚本。CMD ["./script.sh"]
这是为您准备的完整 Dockerfile
FROM python:3.8
COPY requirements.txt requirements.txt
RUN pip install -r requirements.txt
COPY . .
RUN chmod a+x script.sh
CMD ["./script.sh"]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.