TheJacksonLaboratory / SVE

GNU General Public License v3.0
51 stars 12 forks source link

Replace CMD with ENTRYPOINT #37

Open mcuma opened 4 years ago

mcuma commented 4 years ago

Hello,

please modify your Dockerfile and the Dockerhub container to replace CMD ["/tools/SVE/bin/sve"] with ENTRYPOINT["/tools/SVE/bin/sve"]

ENTRYPOINT is the correct way to specify what the container needs to run when it's "executed", as described in https://docs.docker.com/engine/reference/builder/#understand-how-cmd-and-entrypoint-interact. CMD specifies the arguments to the ENTRYPOINT command.

The current setup causes problems when we pull the Docker container using Singularity and run it as a Singularity container, e.g. $ singularity build sve docker://wanpinglee/sve $ singularity run sve call /.singularity.d/runscript: 39: exec: call: not found

i.e., Singularity (correctly) replaces the CMD in the container with the "call" argument and runs just that on an empty entrypoint, which results in the error above.

Thanks, MC