I am using the following Dockerfile
FROM alpine
MAINTAINER sahil
ENTRYPOINT ["/bin/sh",“ls -l”]
Query : I am expecting output for ls -l but I get following
bin/sh: can’t open ‘ls -l’
What is wrong ??
Share and learn in the Docker community.
I am using the following Dockerfile
FROM alpine
MAINTAINER sahil
ENTRYPOINT ["/bin/sh",“ls -l”]
Query : I am expecting output for ls -l but I get following
bin/sh: can’t open ‘ls -l’
What is wrong ??
ls -l is an unknown binary, so cannot be found and opened.
Could write ENTRYPOINT ["/bin/sh", "ls", "-l"], then it would execute the binary ls and provide it the argument -l
Still says cannot open “ls”
you do not need the shell. So also could go with just ENTRYPOINT ["ls", "-l"]
Ya ,that works. What is the reason ? and why I cannot define ENTRYPOINT [“ls -l”]
cause there is just a binary called ls. No binary called ls -l.
You could ENTRYPOINT ["sh", "-c", "ls -l"]. Then the Shell (sh) will see ls -l as a command and split it into program and arguments to finally just consider ls as binary and not the whole string.