Open pxalcantara opened 3 years ago
@pxalcantara my idea was to keep the image size small, so it builds faster, and at the same time offers a start point to build and run docker containers for ros development purposes. That way, at least in my point of view, the base
entry point fits well as it offers all the cool tools we might need to build ros applications, but installing extra ros packages would be charged to the user.
I think this approach is good, so any missing deps would be easily spotted in a fresh new workspace. But which applications do you have in mind that would take advantage of using the desktop-full
?
I agree with @caioaamaral point of view, however I do not oppose to have a flag --full, or --desktop if the user wants to build with that, I do not think it will break the current setup, what do you think @caioaamaral ?
But which applications do you have in mind that would take advantage of using the desktop-full?
I agree with you, I was thinking about using the desktop-full
just to make life easier with the RVIZ, GAZEBO, rqt, everything already installed because, as far as I understood, the base
doesn't have these packages right?
And the flag would give just more flexibility and possibilities for the user but I agree with you that install the desktop-full
will take much more time.
however I do not oppose to have a flag --full, or --desktop if the user wants to build with that, I do not think it will break the current setup
@ivan1993br @pxalcantara having a flag for it seems a great idea indeed. Overall I think we should make ros_ws
more flexible for user configuration (either by using flags or through configuration files)
I'll try to make this change and learn in the process. In this case, what do you suggest? use an ARG as the DISTRO?
I'll try to make this change and learn in the process. In this case, what do you suggest? use an ARG as the DISTRO?
REP142 treats desktop-full
, desktop
and ros_base
as an "end-user entry point". So I would suggest adding a new arg to cover which entry point we are going to use for the distro specified.
Since entry_point
is already a "key word" in the docker context, I suggest using something else like "variant", so we would end up with two args: distro and "variant".
ARG DISTRO
ARG VARIANT
FROM ros:${DISTRO}-{VARIANT}
keeping the distro as default to "foxy" and the "variant" default to "ros-base"
An option for this is great and @caioaamaral presented a good way of doing this. Just some comments:
The file .env is used to set up environment variables to be used inside the docker-compose file, so it serves like a config file. Unfortunately, docker-compose is quite limited in terms of configuration, so you might struggle a bit.
Let us know if you need any help! You are welcome to contribute and share your ideas!
Hi guys,
Why don't you use the
desktop-full
version instead of just thebase
. What do you think about have also this option to create the image?