You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Over time, we have attempted to create Ignition Docker images/tools that either provides users with an environment that has Ignition installed, or provides users with an environment that can be used for developing Ignition packages. As a result, we currently have various tools located in different locations, making it hard for users to know where to find these tools. Our documentation for these tools is also lacking, making it hard for users to know what to use once they have found where these resources exist. To make things even worse, some of the resources that do exist do not work (for example: see gazebosim/gz-sim#1004), probably due to the fact that it's difficult for maintainers to remember what needs to be updated when changes are made to Ignition packages.
It would be useful to review all existing Docker resources and figure out how they can be consolidated into one place. In the process of doing this review, we also may find that some resources can be deleted, and that some resources/functionality may be missing. For context, here are the Docker resources that currently exist for Ignition (if I missed any, feel free to modify this list or let me know):
I think that a reasonable end result would be to have Ignition Docker images (and corresponding documentation) hosted on Dockerhub. It seems like option 4 in the list above is a step in the right direction. It is important to note that there are various challenges/maintenance overhead introduced when providing users with Docker images. The challenges I can think of are (and again, feel free to let me know if this list is missing anything):
How can we create automated tests for the Docker images so that we ensure they are always working and up-to-date?
How do we provide users with GUI support?
Challenge 2 is a difficult one to answer due to various GPU cards being used by the community. For nvidia cards, one option is to use https://github.com/NVIDIA/nvidia-docker and base images such as https://registry.hub.docker.com/r/nvidia/opengl# to provide OpenGL support on nvidia cards. However, this is not a valid solution for those with integrated graphics or AMD GPUs. In order to handle the difficulties that arise from requiring display/GUI support in Docker, https://github.com/osrf/rocker can be used. I'm not sure if this solves challenge 2 for us or not (it might, but I'd like to hear other people's opinion about this).
The text was updated successfully, but these errors were encountered:
Over time, we have attempted to create Ignition Docker images/tools that either provides users with an environment that has Ignition installed, or provides users with an environment that can be used for developing Ignition packages. As a result, we currently have various tools located in different locations, making it hard for users to know where to find these tools. Our documentation for these tools is also lacking, making it hard for users to know what to use once they have found where these resources exist. To make things even worse, some of the resources that do exist do not work (for example: see gazebosim/gz-sim#1004), probably due to the fact that it's difficult for maintainers to remember what needs to be updated when changes are made to Ignition packages.
It would be useful to review all existing Docker resources and figure out how they can be consolidated into one place. In the process of doing this review, we also may find that some resources can be deleted, and that some resources/functionality may be missing. For context, here are the Docker resources that currently exist for Ignition (if I missed any, feel free to modify this list or let me know):
ign-gazebo
, which provides Dockerfiles that install/configure Ignition stable binaries or Ignition nightly binaries: https://github.com/ignitionrobotics/ign-gazebo/tree/ign-gazebo5/dockerign-docker-env
tool, which is meant to provide an environment that can be used for running Ignition binaries or developing Ignition packages: https://github.com/ignition-tooling/gzdev#ign-docker-env (this tool was introduced in the December 2020 gazebo community meeting: https://www.youtube.com/watch?v=WcLj78PyrGk&t=900s. This tool also makes use of https://github.com/adlarkin/ign-rocker)osrf/docker_images
repository: WIP add Ignition osrf/docker_images#378I think that a reasonable end result would be to have Ignition Docker images (and corresponding documentation) hosted on Dockerhub. It seems like option 4 in the list above is a step in the right direction. It is important to note that there are various challenges/maintenance overhead introduced when providing users with Docker images. The challenges I can think of are (and again, feel free to let me know if this list is missing anything):
Challenge 2 is a difficult one to answer due to various GPU cards being used by the community. For nvidia cards, one option is to use https://github.com/NVIDIA/nvidia-docker and base images such as https://registry.hub.docker.com/r/nvidia/opengl# to provide OpenGL support on nvidia cards. However, this is not a valid solution for those with integrated graphics or AMD GPUs. In order to handle the difficulties that arise from requiring display/GUI support in Docker, https://github.com/osrf/rocker can be used. I'm not sure if this solves challenge 2 for us or not (it might, but I'd like to hear other people's opinion about this).
The text was updated successfully, but these errors were encountered: