Docker images by singularity

Dear all,

Did someone run FreeFEM using singularity?
I tried:

singularity build --sandbox freefem docker://freefem/freefem
singularity run freefem

and came across the following error:

ls: cannot access ‘/data/*.edp’: No such file or directory

So what’s the right steps to run a docker image? Unfortunately my ARC system only has singularity installed (not docker engine).

Best,
Yongxing.

I think it’s working, you just don’t have any .edp file in the container folder /data.

Thank you prj.
I tried the following to specify the .edp file explicitly:

./ff.sif ./test.edp
FATAL: permission denied

Andy idea about this error?

Best,
Yongxing.

No, sorry, I don’t use singularity containers.

You have to look closely to docker image you are about to run.
Dockerfile at the very end has this commands:

# Default command
ENV GLOB *.edp
CMD ["bash", "-c", "ls /data/$GLOB | xargs -I {} /usr/freefem/bin/ff-mpirun -n 1 {}"]

So it means, that if you run freefem container without any arguments it will automatically look for *.edp files in /data/ folder.

Example provided with docker mounts local directory to /data/ folder inside container

docker run -v $(pwd):/data freefem

So you have to do the same with singularity

Thank you very much! This works perfect for me. Can I ask one more question:

In the FreeFem container, can I run a parallel FreeFEM code directly? All the dependent libraries have already been configured in the container?

Best,
Yongxing.

Yes, you should be able to. Let me know if this is not the case.

Dear LiudasD,

It seems I cannot pull the latest version v4.9 using the following command:

singularity pull ff.sif docker://freefem/freefem

I tried v4.9 for Windows and it worked well. How can I pull the docker image of v4.9?

Best,
Yongxing.

Good morning,

It seems I cannot pull the latest version v4.9 using the following command:

singularity pull ff.sif docker://freefem/freefem

I tried v4.9 for Windows and it worked well. Howe can I pull the docker image of v4.9?

Best,
Yongxing.