In your nginx you set root with root /var/www/public;. In your docker-compose.yml you mount your source to /var/www/html. Make sure they are the same.