Did you actually try this? You mostly just seem to be telling us lots of different things don't work, and frankly, I haven't been able to figure out what you have even tried. It all just comes out as a bunch of stuff all running together. You need to take a single attempt, explain it completely and clearly, and let us help you clear it up. I don't know if we are having a language barrier, or you just don't understand enough to express things in an intelligible way.
The key to mapping ports is to leave the container port as it is already configured to be and don't even attempt to change it in any way. Instead, change the host port that maps to that container port. Whatever port you want to use on the host side will be translated by the docker engine to the port the container is expecting as long as you don't change the container port part of the mapping.