You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何向容器内Python脚本传参?Docker运行报错求助

问题原因

你执行docker run test --manual test.xml --ckl rhel7.ckl时,Docker会把--manual及后续参数当成容器启动时要执行的命令,直接替换掉Dockerfile里CMD指定的python manual_into_ckl.py。系统找不到名为--manual的可执行文件,因此报错。

解决方法

有两种常用方案:

方案1:改用ENTRYPOINT(推荐)

修改Dockerfile,将CMD替换为ENTRYPOINT:

FROM python:3.10
WORKDIR /home/johnb
RUN pip install pandas 
ADD manual_into_ckl.py .
ENTRYPOINT [ "python", "manual_into_ckl.py"]

重新构建镜像:

docker build -t test .

之后执行原命令,参数会自动传递给脚本:

docker run test --manual test.xml --ckl rhel7.ckl

方案2:运行时指定完整命令

如果不想修改Dockerfile,运行时需写出完整执行命令,避免替换默认CMD:

docker run test python manual_into_ckl.py --manual test.xml --ckl rhel7.ckl
额外注意事项

如果test.xml和rhel7.ckl是本地文件,容器默认无法访问,需用-v参数挂载本地目录到容器内:

# 假设文件在当前目录,挂载到容器工作目录
docker run -v $(pwd):/home/johnb test --manual test.xml --ckl rhel7.ckl

内容的提问来源于stack exchange,提问作者DHEXX

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.14 11:55:24