Skip to content

Dockerfile needs cleanup #169

@PaulBouchier

Description

@PaulBouchier

I'm puzzled by some of the steps in the Dockerfile. I hadn't looked at the docker build carefully before, but now I see some things that make me wonder:

  1. It builds from the official ros dockerhub repository, and pulls ros:jazzy-ros-base, so why is it doing all the base stuff in the ROS install instructions like locale, timezone. timezone is installed by jazzy-ros-core so doesn't need to be re-installed. ros-jazzy-ros-base also sets up LC_ALL and LANG, so installing locales shouldn't be needed. It also installs some of the base packages like gnupg2, curl. The linorobot2 Dockerfile could be simplified by not building everything.
  2. In the past, I pulled from the osrf/ros: collection, which has these images: https://hub.docker.com/r/osrf/ros/tags. Some of the images in there are interesting, like jazzy-simulation and jazzy-desktop-full-noble, so it seems if the linorobot2 Dockerfile pulled from there, it wouldn't have to install gazebo harmonic.
  3. The .env causes cyclonedds to be installed and used. fastrtps is the default for ROS. Why use cyclonedds? There might be advantages to using the default. @hippo5329 points out that fastrtps is needed to run hardware, and using cyclonedds is ensuring that docker won't work right if someone tries it on hardware.
  4. I know I was responsible for adding the latest keys repo (ros2-apt-source.deb) but now I look at how the underlay docker images are generated, I see that has already been done, so can be removed from this Dockerfile

IOW it looks like there could be simpler and more stable ways to build the linorobot2 docker image. Are you open to changes?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions