LAMP in docker must be multiple containers or one?
I would go with solution 2: use docker-compose. The idea is that with solution 2 you can easily update mysql for example without having to modify and rebuild your dockerfile. you just have to update the version of the mysql image in the docker compose file.

I found with a quick search on github this repository https://github.com/sprintcube/docker-compose-lamp 

Note: for production, use terraform script rather than docker-compose