我的停靠文件
FROM python:latest
#ENTRYPOINT [ "python split_csv.py -i test_data.csv -o test_data.csv -r 100" ]
WORKDIR /docker_task2
ENV PORT 80
COPY split_csv.py ./docker_task2
ADD test_data.csv ./docker_task2
COPY . /docker_task2//
CMD ["python", "split_csv.py", "test_data.csv"]
我的代码
docker run splitter split_csv.py -i test_data.csv -o test_data.csv -r 100
1条答案
按热度按时间r7xajy2e1#
启动容器时
它尝试在
$PATH
环境变量中查找命令split_csv.py
,遵循正常的Unix规则。您已经将脚本复制到了映像中的/docker_task2
目录中,该目录也是当前目录,您需要显式指定路径,因为该目录不是默认的$PATH
位置(如/usr/bin
)之一。这也受其他正常Unix规则的约束:该脚本必须是可执行(如果不是,则在您的主机系统上运行
chmod +x split_csv.py
,并将权限更改提交给源代码管理),且它必须以“shebang”行#!/usr/bin/env python3
作为文件的第一行。解决了这个问题之后,你也不需要在你的映像的
CMD
中重复python
解释器了。