Composing Docker Compose Applications
Vlad Stirbu
Docker Meetup Tampere
27.04.2017
whoami
Vlad Știrbu
Principal Software Engineer
Nokia Technologies, Digital Health
Content
Target environment overview
Development to production
How to compose apps
Medical grade IoT system...
...and the decomposition
Buzzwords
Microservices
Containers
Microservice basic artefacts
Flat deployment
Docker compose...
version: '2'
services:
web:
build: .
ports:
- "5000:5000"
volumes:
- .:/code
depends_on:
- redis
redis:
image: "redis:alpine"
µservice with dependencies
Structured deployment view
Compose aggregation
version: '2'
services:
data-aquisition:
depends_on:
- authentication
- kafka
kafka:
image: "kafka"
version: '2'
services:
authentication:
depends_on:
- database
database:
image: "database"
COMPOSE_FILE=data-aquisition.yml:authentication.yml
Sharing compose files?
Yeoman
Yeoman is a generic scaffolding system allowing the creation of any kind of app.
Yeoman is language agnostic. It can generate projects in any language
Yeoman by itself doesn't make any decisions. Every decision is made by generators which are basically plugins in the Yeoman environment.
...with a yeoman generator
Workflow
npm install -g yo
yo {microservice-generator}
docker-compose build
docker-compose up
Demo time
Conclusions
- Manage only the direct dependencies
- Leverage existing infrastructure
- Flexible workflow
Questions
https://slides.com/vladstirbu/composing-docker-compose-applications
Composing Docker Compose Applications
By Vlad Stirbu
Composing Docker Compose Applications
- 620