Help with Entrypoint calling script

The dockerfile.
The docker builds and runs fine. Currently, I run and attach into the docker, and manually send the command:
./pipe.sh /data/ RB17MT1804 /data/H37Rv_refe /data/temp /data/out.

However, I have heard that this can be passed into the docker run command itself, of which I have concocted this:

docker run -it --rm -v /Backup/Data/:/data/ qimr_slim /data/ RB17MT1804 /data/H37Rv_refe /data/temp /data/out

which works with
ENTRYPOINT ["pipe.sh"]
in the dockerfile.

However, this results in this error:

docker: Error response from daemon: OCI runtime create failed: container_linux.go:348: starting container process cause"exec: \"pipe.sh\": executable file not found in $PATH": unknown.

To check whether the container built properly, I have entered it again via
docker run -it --entrypoint /bin/bash qimr_slim
which has no problems, and the script also runs without any problems as the format above, so this means the script, dependencies, and permissions are not a problem.

Can anyone tell where I’m going wrong with this docker usage?

pipe.sh is not in a folder listed in $PATH, so it is not executed. You should copy it to one of these folders, for example to /usr/local/bin.
You would get the same error in the bash console if you wouldn’t type ./pipe.sh with dot-slash.

thanks!
alternatively, would replacing
ENTRYPOINT ["pipe.sh"]
with
ENTRYPOINT ["./pipe.sh"]
in the Dockerfile also work?

UPDATE: Yes it does :smiley:

It mysteriously stopped working a few hours later… in my 2nd attempt, I’ve tried both
ENTRYPOINT ["./pipe.sh"]
and
copying it into /usr/local/bin.
As before the dockerfile is here, where I actually do both of the solutions and try docker run parameters, and so far have got nothing to work.
the error message is now mostly

standard_init_linux.go:190: exec user process caused "exec format error"

does anynoe know what’s wrong now?

Nevermind, found some new complications, moving to new thread.