Error when setting up Docker container #118
-
I am struggling to set up the docker container. I run Are there some instructions on how to set up the docker container? Also, why does the Dockerfile reference a requirements.txt file? Shouldn't it be self-contained and not rely on external requirements files? |
Beta Was this translation helpful? Give feedback.
Replies: 7 comments 1 reply
-
Thanks for checking the project out @timmarkhuff! I apologize for the current lack of documentation. I unfortunately haven't had time yet to setup documentation for the project. This project is only a couple months old now. Adding documentation is in my immediate pipeline though (see #31). I do my best to respond quickly here in the discussions, so if you run into any other problems feel free to send me a message or to post a discussion. The easiest way (what I recommend) to use the Docker environment is to use the devcontainer configuration with VSCode (here is the link to the devcontainer documentation). This is the shortest path to working with the project as the devcontainer configuration manages the build context for you (the reason for the error that you have mentioned) and has the run arguments and other environment variables already set up for you to enable running Gazebo and the other visualization tools like RViz2. If you are building this on a laptop, I recommend modifying the
You can configure the number of threads as you see fit, but this is the safest solution. The project has to build To answer your last question regarding why the Dockerfile references a requirements file, this is to help improve the maintainability of the project. Instead of managing dependencies in both the Dockerfile and a requirements file (for users that do not want to install the system using Docker), the Dockerfile just uses the requirements file. You will find that the Dockerfile also uses rosdep and vcs to manage other dependencies (hence also using the |
Beta Was this translation helpful? Give feedback.
-
So I have been meaning to cleanup the Dockerfile for a bit now and this thread has given me the motivation to update that. I've just pushed some new changes to the branch docker compose -f path/to/blue/.docker/compose/nouveau-desktop.yaml up -d Then start a new interactive container with docker exec -it <name-of-container> /bin/bash If your platform supports the NVIDIA drivers, you can perform the same commands mentioned above, but instead use the docker compose -f path/to/blue/.docker/compose/nouveau-desktop.yaml down to stop the container. At the time of writing this post, I haven't fixed #25, so the Humble build isn't ready yet, but Iron and Rolling both work. I also still need to test the Nouveau drivers out on my laptop, but the NVIDIA container works on my desktop and the Nouveau version has worked in the past. Let me know if this solves some of your problems @timmarkhuff EDIT: I updated the compose script name based off of the PR |
Beta Was this translation helpful? Give feedback.
-
@evan-palmer , thank you so much! I will give this a try. I am on a team at the University of Washington and we are using Blue ROV 2 with ROS for our research, so we were very pleased to find your package. We hope to give you feedback on it and contribute to the project if possible. |
Beta Was this translation helpful? Give feedback.
-
Very cool! Do you happen to work with Aaron Marburg at APL? If not, you may find him to be a valuable resource. I know that he's worked a bit with the BlueROV in the past |
Beta Was this translation helpful? Give feedback.
-
Yes! They are a student team I'm advising.... |
Beta Was this translation helpful? Give feedback.
-
Hi @evan-palmer , we got our Blue ROV 2 set up, and we're diving back into this ROS 2 package now. I've hit another snag with the docker container, and I'm hoping you can help. I don't see a I am getting a 404 , when I try to access this link you posted: https://github.com/Robotic-Decision-Making-Lab/blue/pkgs/container/blue I followed your instructions and logged into GHCR with Docker: Then I tried running docker compose, but it seems I don't have access:
Do you have any idea what might be going wrong? |
Beta Was this translation helpful? Give feedback.
-
My bad! The package should be public now. I didn’t realize that package visibility defaulted to private on GitHub |
Beta Was this translation helpful? Give feedback.
So I have been meaning to cleanup the Dockerfile for a bit now and this thread has given me the motivation to update that. I've just pushed some new changes to the branch
120-feature-cleanup-dockerfile
that improves support for running the project in Docker without the devcontainer configuration. There isn't any need to build the image either as I've added a new pipeline to build images and save images on the GitHub container registry for use with either NVIDIA driver support or use with other drivers (see the project images here). I'm hoping to get the PR merged sometime tomorrow, but that is subjective to how well my convex optimization homework is going 😬. In the meantime, you can pull…