Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Docker`/bin/sh:1:[<;可执行文件>;,:未找到`_Python_Docker_Dockerfile - Fatal编程技术网

Python Docker`/bin/sh:1:[<;可执行文件>;,:未找到`

Python Docker`/bin/sh:1:[<;可执行文件>;,:未找到`,python,docker,dockerfile,Python,Docker,Dockerfile,我想运行一个安装了pip的可执行文件。运行下面的图像会给我提供/bin/sh:1:[hbd,:notfound: 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", "--cooki

我想运行一个安装了pip的可执行文件。运行下面的图像会给我提供
/bin/sh:1:[hbd,:notfound

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,:找不到
等等

如果我将
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
对我来说,它告诉我可执行文件在那里

如何执行清晰呈现的可执行文件

我束手无策,谢谢你

编辑:
我尝试了基本映像的“非精简”版本,即python:3.8.5-buster中的
,没有骰子。

问题可能是因为没有设置环境变量或没有将路径导出到环境中。尝试这两种方法中的任何一种都可能有帮助。

问题可能是因为没有设置环境变量或者路径未导出到环境中。尝试这两种方法之一可能会有所帮助

您好我正在尝试Dockerfile失败,我在中运行了一个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,失败了,我缩短了它,成功了,经过几次尝试和错误,我终于看到你忘记了两个参数之间的逗号。你的命令应该是(注意,添加了两个参数之间的逗号):

所以下一次,尝试你的假设并尝试调查你自己:

假设:未找到可执行文件?然后通过在容器内运行shell检查容器内的命令来测试它。结论:找到路径和可执行文件


假设:CMD语法错误?让我们尝试另一种语法。它与CMD hbd一起工作。因此,是的,很明显,这就是CMD语法…让我们尝试调试它,并用二分法制作它…嘿,逗号丢失;)问题已解决。

您好,我正在尝试Dockerfile。它失败了,我在里面运行了一个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,失败了,我缩短了它,成功了,经过几次尝试和错误,我终于看到你忘记了两个参数之间的逗号。你的命令应该是(注意,添加了两个参数之间的逗号):

所以下一次,尝试你的假设并尝试调查你自己:

假设:未找到可执行文件?然后通过在容器内运行shell检查容器内的命令来测试它。结论:找到路径和可执行文件

假设:CMD语法是错误的?让我们尝试另一种语法。它与CMD hbd一起工作。很明显,这就是CMD语法…让我们试着调试它,并用二分法制作它…嘿,逗号丢失了;)问题解决了。

CMD[“hbd”,“download”,“--cookie file”,“/data/cookies.txt”,“--library path”,“/data”“--progress”,“--update”]

应该是

CMD[“hbd”、“下载”、“--cookie文件”、“/data/cookies.txt”、“--library path”、“/data”、“--progress”、“--update”]

我认为现在发生的事情是,由于
CMD
没有被指定为有效的JSON数组,因此它被解释为以
[
开头的普通命令,这当然是无效的。

CMD[“hbd”、“download”、“--cookie file”、“/data/cookies.txt”、“--library path”、“/data”“--progress”、“--update”]

应该是

CMD[“hbd”、“下载”、“--cookie文件”、“/data/cookies.txt”、“--library path”、“/data”、“--progress”、“--update”]


我认为正在发生的是,由于
CMD
未指定为有效的JSON数组,因此它被解释为以
[
这当然是无效的。

谢谢。我认为这不是路径,因为我使用的是可执行文件的完整路径。你认为它可能是哪些环境变量?你确定python位于/usr/local/bin/中吗?如果是这种情况,请尝试在/etc/environment文件中设置此路径并进行检查?尽管你试图给出完整路径,但是试试这一次。是的,非常确定。如上所述,如果我用
which…
/
find
等替换
CMD…
。我得到了正确的输出路径很好,请看我的另一个答案,我成功地运行了可执行文件。这是您用于CMD命令的语法。谢谢。我认为这不是路径,因为我使用的是完整的pa可执行文件的th。您认为它可能是哪些环境变量?您确定python位于/usr/local/bin/中吗?如果是这种情况,请尝试在/etc/environment文件中设置此路径并进行检查?尽管您尝试给出完整路径,但只需尝试一次。是的,非常确定。如上所述,如果我将
CMD…
替换为
Which…
>/
find
等。我得到了正确的输出路径很好,请参见我的另一个答案,我成功地运行了可执行文件。这是您用于CMD命令的语法。看起来在
“/data”
“--progress”之间缺少逗号
。这将导致此错误。看起来在
“/data”
“--progress”之间缺少一个逗号
。那会导致这个错误。天哪!我已经盯着它看了,我不知道有多久了!!我感觉我已经经历了你推荐的调查步骤一百次了,但不知怎么错过了该死的“,”!谢谢!其他人也发现了这个错误,但是时间戳显示你是第一个。再次感谢你。你很好我。我们都有这样一个时刻,你知道我们意识到这只是一个逗号什么的。天哪!我已经盯着它看了,我不知道多久了!!我感觉我已经完成了你推荐的调查步骤