我的 python 腳本需要兩個引數來運行 --manual、--ckl 和一個可選的 --output。manual 和 ckl 只是用于創建輸出檔案的檔案。我在腳本中使用 argparse。
當我嘗試跑步時docker run test --manual test.xml --ckl rhel7.ckl
我收到這個錯誤
docker: Error response from daemon: OCI runtime create failed: container_linux.go:380: starting container process caused: exec: "--manual": executable file not found in $PATH: unknown.
FROM python:3.10
WORKDIR /home/johnb
RUN pip install pandas
ADD manual_into_ckl.py .
#command to run
CMD [ "python", "manual_into_ckl.py"]
我是新手,我不確定如何正確配置 dockerfile。我嘗試在 docker run 命令中使用完整路徑,但這并沒有改變任何東西
uj5u.com熱心網友回復:
如果您希望將引數傳遞給容器,請在 Dockerfile 中使用exec 形式的 ENTRYPOINT 指令而不是 CMD。
FROM python:3.10
WORKDIR /home/johnb
RUN pip install pandas
ADD manual_into_ckl.py .
#command to run
ENTRYPOINT [ "python", "manual_into_ckl.py"]
然后將容器運行為
docker run test --manual test.xml --ckl rhel7.ckl
傳遞給的附加引數docker run將作為 args 傳遞給 dockerfile 中指定的入口點。結果命令看起來像
python manual_into_ckl.py --manual test.xml --ckl rhel7.ckl
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/527251.html
