После обсуждения в комментариях проблема заключалась в том, что отображение портов было изменено с 8080: 80 в первой команде на 9090: 90 во второй команде. Переключение обратно на порт 80 для порта контейнера устраняет проблему, подтвержденную автором.
Теперь, чтобы объяснить, что здесь происходит: Отображение порта 8080: 80 означает, что вы отображаете порт 8080 в среде хоста на порт 80 на гостевой среде. Там, где гостевая среда является фактическим контейнером.
Часть отображения хост-порта может быть произвольно изменена - т. Е. Изменение ее с 8080 на 9090 работает - до тех пор, пока порт хоста не будет занят другим процессом. Однако то же самое не относится к гостевому порту, поскольку гостевой порт определяется процессом, который выполняется в контейнере. Поэтому, если контейнерное приложение прослушивает порт 80, переключение гостевого сопоставления на порт 90 (как это произошло в этом случае) не будет работать - потому что там ничего не прослушивается.
Также вполне возможно иметь несколько портов отображение, т. е. если в контейнере имеется порт 80, где ваше приложение слушает, и порт 90, где слушает консоль администратора, вы можете получить 2 сопоставления портов: скажем, 8080: 80 и 9090: 90.
Если вы хотите использовать несколько сред одновременно - порождать несколько контейнеров, то есть вы можете сделать что-то вроде:
docker run -d -p 8080:80 --name myapp1 dockerlocal
docker run -d -p 9090:80 --name myapp2 dockerlocal
Обратите внимание, что в итоге вы получите 2 отдельных контейнера, работающих независимо друг от друга.