osrf / rocker

A tool to run docker containers with overlays and convenient options for things like GUIs etc.
Apache License 2.0
532 stars 68 forks source link

How to pass --ipc to the container? #237

Closed vanem closed 1 year ago

vanem commented 1 year ago

I'm trying to set up ROS2 communication between the rocker overlay container and host (or another container). Due to shared memory transport confusion, it was suggested here to use "network_mode: host", "ipc: host" with docker composer ("--ipc" with docker run). Although network mode options is presend in rocker, it does not look like something similar for "--ipc" is available. Is there a way to do this?

tfoote commented 1 year ago

That's not currently a supported argument. It could be relatively easily added with a new extension.

It should take the same format as Network https://github.com/osrf/rocker/blob/2b8d5abb18c829d22f290679b739dc53765198ad/src/rocker/extensions.py#L141

vanem commented 1 year ago

would this extension be able to help out of the box? https://github.com/sloretz/off-your-rocker The readme says at the end "This allows adding arbitray arguments to docker run." If so, how can this extension or others be used (installed etc) exactly?

tfoote commented 1 year ago

Yes, that can be used too. You want to install that into your python environment via pip. You may want to consider using rocker with this extension and others in a virtualenv depending on your deployment.

vanem commented 1 year ago

Thanks for the help, I was indeed able to install that extension via pip, and was able to pass the arguments that I needed. Would be nice to have this option build in!