在 $PATH 中找不到可执行文件:未知
executable file not found in $PATH: unknown
试图找出为什么我的 dockerfile:
FROM mcr.microsoft.com/powershell:ubuntu-focal
RUN apt-get -qq -y update && \
apt-get -qq -y upgrade && \
apt-get -qq -y install curl ca-certificates python3-pip exiftool mkvtoolnix
RUN pip3 install gallery-dl yt-dlp
WORKDIR /mydir
COPY gallery-dl.ps1 .
ENTRYPOINT ["gallery-dl.ps1"]
在运行时抛出以下错误:
> docker build --file gallery-dl.dockerfile --tag psa .
> docker run -it --rm --name psatest psa
docker: Error response from daemon: failed to create shim: OCI runtime create failed: container_linux.go:380: starting container process caused: exec: "gallery-dl.ps1": executable file not found in $PATH: unknown.
我似乎已经尝试了所有方法:使用 CMD 而不是 ENTRYPOINT,将 COPY dest 修改为 ./gallery-dl.ps1
,更改命令的顺序。
我已经将 #!/usr/bin/pwsh -File
添加到 ps1 脚本(按照我的另一个问题中的指示)。
当我附加到容器中并 ls 时,它会显示我所有的安装和 gallery-dl.ps
本身应该在的位置以及我应该调用它的位置:
PS /mydir> ls
conf gallery-dl.ps1 output
唯一可行的是删除 WORKDIR,但我确实需要它,我不能 运行 root 中的所有内容。
两件事:确保文件被标记为可执行文件。由于 /mydir
不在您的路径中,您需要通过在名称前添加 ./
告诉 Docker 在当前目录中查找脚本。
FROM mcr.microsoft.com/powershell:ubuntu-focal
RUN apt-get -qq -y update && \
apt-get -qq -y upgrade && \
apt-get -qq -y install curl ca-certificates python3-pip exiftool mkvtoolnix
RUN pip3 install gallery-dl yt-dlp
WORKDIR /mydir
COPY gallery-dl.ps1 .
RUN chmod +x gallery-dl.ps1
ENTRYPOINT ["./gallery-dl.ps1"]
试图找出为什么我的 dockerfile:
FROM mcr.microsoft.com/powershell:ubuntu-focal
RUN apt-get -qq -y update && \
apt-get -qq -y upgrade && \
apt-get -qq -y install curl ca-certificates python3-pip exiftool mkvtoolnix
RUN pip3 install gallery-dl yt-dlp
WORKDIR /mydir
COPY gallery-dl.ps1 .
ENTRYPOINT ["gallery-dl.ps1"]
在运行时抛出以下错误:
> docker build --file gallery-dl.dockerfile --tag psa .
> docker run -it --rm --name psatest psa
docker: Error response from daemon: failed to create shim: OCI runtime create failed: container_linux.go:380: starting container process caused: exec: "gallery-dl.ps1": executable file not found in $PATH: unknown.
我似乎已经尝试了所有方法:使用 CMD 而不是 ENTRYPOINT,将 COPY dest 修改为 ./gallery-dl.ps1
,更改命令的顺序。
我已经将 #!/usr/bin/pwsh -File
添加到 ps1 脚本(按照我的另一个问题中的指示)。
当我附加到容器中并 ls 时,它会显示我所有的安装和 gallery-dl.ps
本身应该在的位置以及我应该调用它的位置:
PS /mydir> ls
conf gallery-dl.ps1 output
唯一可行的是删除 WORKDIR,但我确实需要它,我不能 运行 root 中的所有内容。
两件事:确保文件被标记为可执行文件。由于 /mydir
不在您的路径中,您需要通过在名称前添加 ./
告诉 Docker 在当前目录中查找脚本。
FROM mcr.microsoft.com/powershell:ubuntu-focal
RUN apt-get -qq -y update && \
apt-get -qq -y upgrade && \
apt-get -qq -y install curl ca-certificates python3-pip exiftool mkvtoolnix
RUN pip3 install gallery-dl yt-dlp
WORKDIR /mydir
COPY gallery-dl.ps1 .
RUN chmod +x gallery-dl.ps1
ENTRYPOINT ["./gallery-dl.ps1"]