So I have an intel-based macbook with MacOS Sequoia. I have installed gazebo jetty binaries and it works with no issues.
However, for some other projects I need to run a containerized ubuntu setup with ROS 2 Jazzy + Gazebo Jetty. For the GUI, what am I trying to do is:
- Run
gz simin server mode inside the container - Run
gz simGUI locally on the host mac machine
Theoretically I believe this should work and have successfully used this setup on a Ubuntu host machine earlier but I cannot get it to work on the Mac. Both the server and the gui start up successfully but are not able to communicate with each other. For my setup:
- I am using Docker Desktop with a custom dockerfile which installs ROS 2 Jazzy and Gazebo jetty on an Ubuntu 24.04 base
- I set the same
GZ_PARTITIONin both: the container with the server and host terminal with the GUI - I run the container with the
--network=hostoption inside docker desktop
From what I understand, docker running inside a VM on the Mac might be creating some complications with this setup. At the same time, I believe this is something very primitive and I am probably missing some gz-transport env settings.
So basically my question is: How do I get this to work? What am I missing? I would love to get some more insights!
Update: I have enabled the Network Hosting option in Docker Desktop’s Settings > Resources > Network. After this when I execute the same setup, this is what I get in the terminal running the GUI:
Binding to a local port failed.
Binding to a local port failed.
Exception sending a multicast message:Can’t assign requested address

