If you don’t get this now, you don’t have something setup correctly… you map a directory from your local file system to the container for the config. That directory survives whatever you do to docker… so upgradeing is:
docker stop home-assistant
docker rm home-assistant
docker pull homeassistant/home-assistant
docker run -d --network=host --name home-assistant -v /path/to/local/config:/config homeassistant/home-assistant
In other words, you just stop the current container, delete it, pull the new container from the docker hub, then run the container again. The config directory is not in the container, so it remains untouched.
Note: I do this almost weekly - basically every time a new version of HA is released.
How are you doing it now?