gpt4 book ai didi

python - Docker `/bin/sh: 1: [, : not found`

转载 作者:行者123 更新时间:2023-12-02 20:55:54 31 4
gpt4 key购买 nike

我想运行一个用pip安装的可执行文件。运行以下图像会给我/bin/sh: 1: [hbd,: not found:

FROM python:3.8.3-slim-buster

WORKDIR /data

COPY cookies.txt /data/cookies.txt

RUN python3.8 -m pip install humblebundle-downloader

CMD ["hbd", "download", "--cookie-file", "/data/cookies.txt", "--library-path", "/data" "--progress", "--update"]
我已经尝试过 CMD ["/usr/local/bin/python3.8", "-m", "hbd", "download",...CMD python -m hbd download...以及类似的东西。结果为 /bin/sh: 1: [/usr/local/bin/python3.8,: not found等。
如果我将 CMD ...替换为 CMD which python3.8 && which hbd && find / -executable -type f -name hbd,则会得到:
/usr/local/bin/python3.8
/usr/local/bin/hbd
/usr/local/bin/hbd
对我来说,告诉我可执行文件在那里!
如何执行清晰可见的可执行文件?
我在机智的尽头。谢谢!
编辑:
我尝试使用基本图像的``非 slim ''版本,即 FROM python:3.8.5-buster,没有骰子。

最佳答案

您好,我尝试了您的Dockerfile,但失败了,我在shell中运行了一个shell并尝试了hbd,该命令就可以了:

docker run -ti 7552b04ea25b sh
# hbd
usage: hbd [-h] {download} ...
hbd: error: the following arguments are required: action
然后,我尝试不使用引号,方括号和逗号,但效果很好:
CMD hbd download --cookie-file /data/cookies.txt --library-path /data --progress --update
我再次尝试使用您的CMD,但失败了,我将其缩短了,它起作用了,并进行了几次尝试和错误,最后我发现您忘记了两个参数之间的逗号。您的命令应为(注意,已添加两个参数之间的逗号):
CMD ["hbd", "download", "--cookie-file", "/data/cookies.txt", "--library-path", "/data", "--progress", "--update"]
因此,下次,请尝试假设并尝试调查自己:
假设:找不到可执行文件?然后通过在容器中运行 shell 检查容器中的命令来对其进行测试。结论:找到路径和可执行文件。
假设:CMD语法错误?让我们尝试不同的语法。它与CMD hbd一起使用。因此,很明显这是CMD语法...让我们尝试通过二分法对其进行调试和制作...嘿,缺少逗号;)问题已解决。

关于python - Docker `/bin/sh: 1: [<executable>, : not found`,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63051628/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com