What is a good docker webdev workflow?

I’m following this thread, https://stackoverflow.com/questions/20164466/what-would-be-a-good-docker-webdev-workflow, regarding a workflow for my webdev strategy. If I would to have separate docker images for MySQL, Apache, PHP, CMS (using Drupal), (1) how do I get my CMS (app files) to use the PHP container, access data in MySQL container, using Apache container to display the web site on my local development MacBookPro? For each of the images e.g. MySQL, Apache, PHP, and CMS, (2) do I also need to include a host OS in the Dockerfile image? For local development, (3) do I need to use volume or just point to my working directory?