Видимо, потому что у вас в коде пути к файлам /assets/что-нибудь, а на ФС они лежат в /admin/assets/. Либо делайте отдельный локейшен для статики (/assets с алиасом), либо измените пути в коде, либо поменяйте root в веб-сервере.
Алиасы обычно используют, если разные части сайта лежат в непересекающихся каталогах. У вас всё рядышком, поэтому для локейшенов check, recheck достаточно указать root и на верхнем уровне определить индексные файлы с участием index.php.
Придётся решить, кто будет обслуживать стандартные 80/443 порты - и зарулить второго через первого (до окончания переноса). А в целом - почему бы и нет?
Смотреть логи клиента, смотреть логи сервера. Если увидите разницу - снимать дамп трафика и анализировать. Если в веб-сервере всё на месте, а в РНР нет, значит дело в последнем (обычно именно так и бывает).
Вы глобально делаете не то в виде пихания нескольких сервисов в один контейнер. Забудьте про 127.0.0.1 - все контейнеры должны ходить друг к другу по именам, а доступ снаружи обеспечивается экспозом 80/443 порта на контейнере с nginx.
Универсальный рецепт - посмотреть, с какими параметрами скомпилирован нгинкс, nginx -V, там будет указан путь к дефолтному конфигу, например --conf-path=/etc/nginx/nginx.conf, в котором, по идее, будут перечислены инклюдами все каталоги.