Ожидаемое поведение. Это фича докера. Если процесс завершился, то контейнер останавливается, поскольку его задача окончена. Если требуется чтобы контейнер работал, то надо запустить внутри него сервис, например попробуйте просто CMD ping 127.0.0.1
и затем проверьте запущен ли контейнер docker-compose ps
В Вашем же случае надо запустить nginx примерно так CMD ["nginx", "-g", "daemon off;"]
Подключиться к работающему контейнеру можно так docker exec -it NAME bash
, где NAME - имя контейнера из docker-compose ps.
А еще лучше, оформите нормально docker-compose.yml