would it be a good idea to manage all hardware tasks in one container and have other containers talk to that one? How would that work if I’d like to manage an OLED display? Who would keep track of the content to be displayed and when/how would the managing container know when to update the OLED? Maybe I could use MQTT for that, if I don’t need a high refresh rate? Any tips from the field?
That does sound like a reasonable split of container responsibilities to me. There are lots of ways to communicate between containers and MQTT is certainly one of them. You can also map TCP ports between containers and communicate that way. I think you can also use Unix-domain sockets to provide communication between the containers. This link shows the basics.
Please let me know if you have further considerations.