Docker container is , in the context of a HA one , just a box inside which HA runs isolated from your host system, with all the dependencies it needs. So it isn’t affected by what you do on the host or in other environments - well to some degree .
Further, anything HA detects or is configured to work with, is just the same as if you were running inside a fiddly Pvenv. Zwave included.
Containers communicate with your host and other containers via ports on a network, either your host network or virtual ones created by the containers and shared between them. So crucially, anything that uses ports for access - mysql or mairadb etc, can be run in another container, isolated from HA container AND your host. Beautiful!!
Lastly, VOLUMES are virtual disks , file systems, that can be used for individual container storage or storage shared between containers. So for example , you can mount nfs shares in those volumes just as you would ‘normally’. Brilliant.
So docker is the panacea to addressing conflicting software, compatibility, fiddly venv, and evolving configuration changes where a ‘change here’ breaks "something there’
We’ve all been there!
Just run key apps or services, in their own docker containers.
Ive simplified things here, in laymen terms, but that is the essence of why we use docker.
Like all great inventions from history, the conceptual solution , is so simple!
Google is your friend!
Then when you have a basic awareness come back here for fixes to your attempts. I’d be happy to help.