我的应用程序有两个文件:1.py 和 2.py,为了工作,我需要在两个不同的终端上运行它们,如下所示:
1终端:python3 1.py -f text.txt
2终端:python3 2.py
我需要如何构建我的 Dockerfile 才能使图像正常工作?
答案1
Docker 没有“终端”的概念。最好的办法是运行两个 Docker 容器,每个文件一个,然后使用 Docker Compose 或 Kubernetes pod(或等效容器)同时运行它们。
答案2
在 Dockerfile 中,复制文件后,可以在 CMD 中使用管道,这样就可以同时运行多个脚本。Dockerfile 应该如下所示(我假设文件位于当前目录中):
FROM python:3.6
COPY 1.py /
COPY 2.py /
COPY text.txt /
CMD python3 1.py -f text.txt | python 2.py