Docker at Tradeshift

Bo Gotthardt

Tradeshift
- Network for invoices and business communication
- "App" platform
- Split into individual server "components"
- Java/Scala/Grails

Why Docker?
- Busy Operations team
- Existing components are complex
- New Node.js component
- Want to move to multi-region setup
Setup
- Custom base images
- Store images on quay.io
- Reuse exact same images for test and production
- Orchestration with Helios
Server code
quay.io
Build
server
Apps
code
Build
server
quay.io
Production
Test
Progress
- Prototype container in production
- Existing components Dockerized
- Can spawn test stack on AWS
- TODO: Tradeshift Docker repo
- TODO: Production orchestration setup
- TODO: Official setup for running locally
Gotchas
- All the Maven plugins suck
- Groovy scripts to replace Maven plugins suck
- Quick hacks in existing setup have to be fixed
- Mutable images are a terrible idea
- Helios doesn't support third-party repo auth
$ docker run -d quay.io/tradeshift/cloudscan-conversion:3bf4dcd
536d0d7c502387adf55298aef79c66f14f98942b29d847884e400fb725401e45
$ ...$ docker logs 536d0d7c502387adf55298aef79c66f14f98942b29d847884e400fb725401e45
2014/11/26 15:43:42 Error response from daemon: 404 Page not found
$ ...Integration tests run...


Questions?
Docker at Tradeshift, part 2
By Bo Gotthardt
Docker at Tradeshift, part 2
- 892