I need advices for the workflow for web development with Docker:
Since today, we used Vagrant and/or MAMP for local development. To keep up with the times, we took a look at Docker and used it for some small projects. Now we want to update our workflow and only use Docker. I heard that the best practice is to use a separate container for every task. Most of our projects are done with Wordpress (Bedrock). So I would need at least 2 containers, one as webserver (Apache) and one for the data (MySQL). Furthermore I read, that people use a container for their frontend development as well, so they don't need to install Node/Bower/Yarn/Gulp over and over again on the local machine, and also in the different versions.
Our current workflow goes like this:
- Clone bedrock
- Clone sage starter theme in themes directory
- Git add .
- Commit everything into VCS, so co-workers can check it out
- Add project to vagrant config
- Install all dev dependencies (composer for bedrock, npm for sage)
- Start developing
How would that work with Docker?
I already read about docker-compose, but how can I achieve a proper workflow? I'm also rather confused about the COPY commands in Docker. Do I need to copy all the files into the Docker container?
I know, there are a lot of questions but maybe you can provide me with some easy-understandable tutorials or some links.