distribute development environment by docker-compose - may 2016 docker meetup shanghai

17

Upload: wiredcraft

Post on 13-Apr-2017

103 views

Category:

Software


0 download

TRANSCRIPT

Page 1: Distribute Development Environment by docker-compose - May 2016 Docker Meetup Shanghai
Page 2: Distribute Development Environment by docker-compose - May 2016 Docker Meetup Shanghai

Distribute Development Env by docker-composeKengo TODA

Page 3: Distribute Development Environment by docker-compose - May 2016 Docker Meetup Shanghai

whoami

Java, JavaScript R&D

Build tools, CI

OSS web app with distributed dev environment

Page 4: Distribute Development Environment by docker-compose - May 2016 Docker Meetup Shanghai

Merit of Docker

Small, Clean, Quick, Portable, Reproducible

Good for delivery

to cloud, data centre and developer’s machine new!

Page 5: Distribute Development Environment by docker-compose - May 2016 Docker Meetup Shanghai

Case: provide dev environment for your contributors

Web Service needs:

Middleware

Initial data in datastore

Page 6: Distribute Development Environment by docker-compose - May 2016 Docker Meetup Shanghai

Legacy ways to provide dev environment

README.txt

Virtual box, VMware

Vagrant (https://www.vagrantup.com/)

Page 7: Distribute Development Environment by docker-compose - May 2016 Docker Meetup Shanghai

Problems of legacy ways

Page 8: Distribute Development Environment by docker-compose - May 2016 Docker Meetup Shanghai

Human don’t read document

Page 9: Distribute Development Environment by docker-compose - May 2016 Docker Meetup Shanghai

VM is BIG & SLOW

Page 10: Distribute Development Environment by docker-compose - May 2016 Docker Meetup Shanghai

Middleware conflict

Page 11: Distribute Development Environment by docker-compose - May 2016 Docker Meetup Shanghai

Docker is

Process to make VM is more clear and documented

Quick bootstrap

Layer is small enough to distribute

Reproducible even on different OS

Page 12: Distribute Development Environment by docker-compose - May 2016 Docker Meetup Shanghai

But how to keep

'one service in each container’ policy?

Page 13: Distribute Development Environment by docker-compose - May 2016 Docker Meetup Shanghai

docker-compose

Build, run and link containers by one command

Treat set of containers like: Application server, Web server, Datastore server, Selenium client, build tools…

Page 14: Distribute Development Environment by docker-compose - May 2016 Docker Meetup Shanghai

docker-compose.yml

Page 15: Distribute Development Environment by docker-compose - May 2016 Docker Meetup Shanghai

docker-compose up$ docker-compose up Creating consul_1... Creating registrator... Creating storage_1... Creating front_1... Creating nginx_1... Attaching to consul_1, registrator, storage_1, front_1, nginx_1 consul_1 | ==> Starting raft data migration...

Page 16: Distribute Development Environment by docker-compose - May 2016 Docker Meetup Shanghai

Conclusion

Docker is good for delivery, even to developers!

Page 17: Distribute Development Environment by docker-compose - May 2016 Docker Meetup Shanghai

Event organised by

“Technology with Impact”

http://wiredcraft.com/