А то как сейчас, бедный SSD изнашивает и TLC и SLC кеш, и наверное ему это нехорошо...
ИМХО, это очень странный критерий для оптимизации. Если производительность устраивает, то чего жалеть железо - тем более в production это обычно не наше железо.
Мне кажется, я понял в чем проблема!
Попробуйте убрать
volumes:
- ./client/:/var/www/project/
при запуске контейнера.
Объяснение: мы все делаем правильно когда строим image, но при старте мы монтируем (== заменяем) директорию /var/www/project на ./client с хоста, в которой нет модулей.
Георгий Котов, сорри, я не заметил что у вас начале dockerfile уже был
WORKDIR /var/www/project/
так что дело в чем-то другом.
Советую
1) проверить что зависимости ставятся на обычной машине, не докер
2) когда вы зашли в получившийся контейнер, попробуйте запустить compose - может что увидим