Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Distribute Development Env by docker-compose

Distribute Development Env by docker-compose

Slide for Docker Shanghai meetup, about case study of docker-compose.
www.meetup.com/Docker-Shanghai/events/230338006/

Kengo TODA

May 17, 2016
Tweet

More Decks by Kengo TODA

Other Decks in Technology

Transcript

  1. Distribute Development Env
    by docker-compose
    Kengo TODA

    View full-size slide

  2. whoami
    Java, JavaScript R&D
    Build tools, CI
    OSS web app with
    distributed dev
    environment

    View full-size slide

  3. Merit of Docker
    Small, Clean, Quick, Portable, Reproducible
    Good for delivery
    to cloud, data centre and developer’s machine new!

    View full-size slide

  4. Case: provide dev environment
    for your contributors
    Web Service needs:
    Middleware
    Initial data in datastore

    View full-size slide

  5. Legacy ways
    to provide dev environment
    README.txt
    Virtual box, VMware
    Vagrant (https://www.vagrantup.com/)

    View full-size slide

  6. Problems of legacy ways

    View full-size slide

  7. Human don’t read
    document

    View full-size slide

  8. VM is BIG & SLOW

    View full-size slide

  9. Middleware conflict

    View full-size slide

  10. Docker is
    Process to make VM is more clear and documented
    Quick bootstrap
    Layer is small enough to distribute
    Reproducible even on different OS

    View full-size slide

  11. But how to keep
    'one service in each container’ policy?

    View full-size slide

  12. 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…

    View full-size slide

  13. docker-compose.yml

    View full-size slide

  14. 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...

    View full-size slide

  15. Conclusion
    Docker is good for delivery, 

    even to developers!

    View full-size slide