I recently finished the first phase of a successful QA automation project built on a Docker environment.  Below are some of the key steps we took as part of the project:

Setting expectations and choosing the framework:

My first step was to help educate the client on what could be accomplished for their project with automation, which was important to ensure they were aware of both the benefits and limitations of an automation initiative. Once we had a good understanding of the project scope and underlying development technologies (knowing we will need to further integrate the code with the Automation framework in the future), I provided a recommendation for the QA languages and framework. We decided to use Selenium Webdriver, Java, Maven to manage the libraries, TestNG and AWS (docker containers) to run the tests scripts in a Linux with headless browsers.