Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Run a containerized code inside AiiDAlab via aiida-core #258

Open
csadorf opened this issue Jun 21, 2022 · 2 comments
Open

Run a containerized code inside AiiDAlab via aiida-core #258

csadorf opened this issue Jun 21, 2022 · 2 comments
Assignees

Comments

@csadorf
Copy link
Member

csadorf commented Jun 21, 2022

Since we will soon have aiida-core support to running containerized code installed in the docker/Singularity/Sarus, it is a good idea to have aiidalab to also support this.
However, the aiidalab is running as the container, it is not naturally supported to run docker inside the docker container.
There are essentially three ways to do this https://devopscube.com/run-docker-in-docker/:

I think for the containerized code, running code on docker has many limitations such as no decent MPI support, and output files of the docker containerized code belong to root use which can not be deleted without sudo.
The better way would be to have Singularity installed and supported in the aiidalab container.

But it worth to have a look at the sysbox image which has many high level feature supported to make the container more like a VM. It can enable Docker-in-Docker and Kubernetes-in-Docker etc.
It is easy to installed on Linux hosts and then can be used by docker run --runtime=sysbox-runc -it <image> ...

@csadorf
Copy link
Member Author

csadorf commented Jun 21, 2022

@unkcpz I converted this to an issue on aiidalab-docker-stack. Please feel free to transfer to another repository if you think it is more appropriate there. Thank you.

@unkcpz
Copy link
Member

unkcpz commented Nov 18, 2022

Some update and maybe it is worth to check this issue with AiiDA 2.1 supported. I have check to install and running image using Singularity, which looks all good. The only trick is the container start from localhost need to be started with --privileged option as instructed in https://stackoverflow.com/questions/61574793/how-to-use-singularity-in-docker-container.
Not sure how to set in in k8s, will give it a try.

EDIT: k8s + Jupyterhub elevated permission -> jupyterhub/zero-to-jupyterhub-k8s#379

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants