Рассмотрим две эти docker container run команды:
docker container run
docker container run --publish 89:80 ImageFoo docker container run --publish 90:80 ImageBoo
Почему несколько докеров могут иметь один и тот же правый порт?
Порт справа, находится внутри контейнера. Каждый контейнер имеет собственный виртуальный сетевой адаптер, поэтому вы можете независимо использовать весь диапазон портов.