-
Notifications
You must be signed in to change notification settings - Fork 1.3k
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
Docker/singularity container doesn't seem to contain ns-* commands #2952
Comments
I have a similar problem, when executing the container with singularity shell I cannot access the nerfstudio commands. from and initial analysis this is due to the fact that I don't have permissions to access the \usr folder. |
I also have a problem using your docker container with singularity. When I try to build the container v 1.1.3, singularity hangs at "creating SIF file". I would expect, that inside the container, nerfstudio is simply installed in the system python environment and the cli scripts are installed under /usr/local/bin |
Hi, I think I found a workaround for this problem, I hope it also applies to your case. I am currently working with the nerfstudio image 1.1.0. I create the container using the following .def file: ` %post
If I try it inside the singularity shell I can also see the nerfstudio commands. For additional reference, my exec command looks like this:
This allowed me to work with my singularity configuration, I hope this was helpful. |
@SwirtaB I saw you made the latest changes to the dockerfile. Question from my side: what is the design choice behind working as a user inside the dockerfile? This makes it impossible to use the docker container with singularity/apptainer, since inside a singularity container, I still work under my own user and hence do not have access to the directory /home/user. @FabioLddo s approach may work, but feels hacky to me. The normal docker way would be to install nerfstudio as a system app under |
Hi @thawn, The way I see it, this image serves as a simple way to obtain a stable development environment and not as the go-to development workspace (requires adjustment from the end user if one wishes to use it in more complex scenarios). If user inside container is a problem, you can change the user via --build-args (available args are: USERNAME, USER_UID, USER_GID) and run it as local user (Docker CE allows for such operation, see documentation ). If this not solves your problem, feel free to implement changes and contribute to the repository. |
Hi @SwirtaB , I created a docker file that solved the problem for me. I will submit a pull request. Cheers, |
On HPC systems, singularity/apptainer is used instead of docker as the container solution. The current dockerfile does not work under singularity, since nerfstudio is installed under /home/user, which is not accessible when the container is run in singularity/apptainer. The problem is that under singularity, the user inside the container has the same rights as outside the container and thus cannot access the contents of the folder belonging to another user. This makes singularity containers secure to use in a multi-user environment. The proposed changes install nerfstudio in the system environment, making it available to all users. I have tested this container and it works. The container is available on hub.docker.com/thawn/nerfstudio closes nerfstudio-project#2952
This can be closed as fixed by #3283 I pulled docker://ghcr.io/nerfstudio-project/nerfstudio:pr-3283 with singularity and it works well 👍 |
Describe the bug
I built a singularity container from the Dockerhub address listed on the web page and then ran "singularity run --nv nerf.simg" and tried to find the ns-* files but I am unable to find them.
To Reproduce
Run:
singularity build nerf.simg docker://dromni/nerfstudio:1.0.2
singularity run --nv nerf.sif ns-process-data video --data /workspace/video.mp4
Expected behavior
No errors
** Result:
== CUDA ==
CUDA Version 11.8.0
Container image Copyright (c) 2016-2023, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
This container image and its contents are governed by the NVIDIA Deep Learning Container License.
By pulling and using the container, you accept the terms and conditions of this license:
https://developer.nvidia.com/ngc/nvidia-deep-learning-container-license
A copy of this license is made available in this container at /NGC-DL-CONTAINER-LICENSE for your convenience.
/opt/nvidia/nvidia_entrypoint.sh: line 67: exec: ns-process-data: not found
The text was updated successfully, but these errors were encountered: