Tame your Test Environment
with Docker Compose
Docker Meetup 12/9/2015
Kevin Bell
Developer Evangelist
kevin@circleci.com
The Agenda
• Opening remarks
• Two super fun examples:
• Service dependencies (An identity service)
• Test services (Browser tests)
• Closing remarks
• Questions
Opening Remarks
• This presentation focuses on dev/test use cases,
but it’s simple to deploy Docker images to
production from CircleCI too!

(see circleci.com/docs/docker)
• Remember these are examples, think about how
the same tools can help you.

(e.g. maybe you care about compilers or linters
instead of browser tests)
Service Dependencies
My App
Things NeedsMy App
DB
Example: Identity Service
My App
Service Layer
DEMO
Test Services
TestApp
Stuff Stuff
Example: Browser Tests
chrome/

chromedriver
uwsgi
nginx
selenium client
DEMO
• What kind of dev/test/prod topologies make sense?
When to use dev/test Docker hosts vs prod?
• Composing Compose? (I kind of cheated on this)
Closing Thoughts
TestApp
Stuff Stuff
My App
Things NeedsMy App
Questions?
Cowsay identity provider:
https://github.com/bellkev/user-directory-client
Webdriver in docker:
https://github.com/bellkev/docker-webdriver
Me:
kevin@circleci.com

Tame your test environment with Docker Compose