Docker Ecosystem for Microservices (JAX 2016)

Docker Ecosystem for Microservices (JAX 2016)

**Docker Ecosystem for Microservices talk**

Here you can find my docker slide container decks from my docker and kubernetes microservice experiences :

- [JAX 2016 - Docker Ecosystem for Microservices][6].
- open slidefire presentation container with `docker run -d -p 8000:80 rossbachp/kubernetes-orchestration:Jax-2016-04`
- pdf [Docker Ecosystem for Microservices][7] is now avaiable!
- [Docker Meetup Munich 2016 - Docker Ecosystem for Microservices][4].
- open slidefire presentation container with `docker run -d -p 8000:80 rossbachp/kubernetes-orchestration:MeetupMunich-2016-02`
- pdf [Docker Ecosystem for Microservices][5] is now avaiable!
- [MicroXgn Berlin 2016 - Docker Ecosystem for Microservices][1].
- open slidefire presentation container with `docker run -d -p 8000:80 rossbachp/kubernetes-orchestration:MicroXgn-2016`
- pdf [Docker Ecosystem for Microservices][2] is now avaiable!

Open slidefire presentation container with your browser `http :8000/kubernetes-orchestration`

Feedback welcome

[Peter Rossbach][3]

[1]: http://microxchg.io/2016/index.html
[2]: https://speakerdeck.com/rossbachp/docker-ecosystem-for-microservices
[3]: http://twitter.com/PRossbach
[4]: http://www.meetup.com/de-DE/Docker-Munich/events/228226599/
[5]: https://speakerdeck.com/rossbachp/docker-ecosystem-for-microservices-munich
[6]: https://jax.de/session/infrastruktur-fuer-microservices-docker-orchestration/
[7]: https://speakerdeck.com/rossbachp/docker-ecosystem-for-microservices-jax-2016

6ebe854441b4860e1df99176012c8fea?s=128

Peter Rossbach

April 21, 2016
Tweet

Transcript

  1. 1 / 58 © 2016 <peter.rossbach@bee42.com>, @PRossbach, Docker JAX 2016-04

  2. 2 / 58 © 2016 <peter.rossbach@bee42.com>, @PRossbach, Docker JAX 2016-04

  3. 3 / 58 © 2016 <peter.rossbach@bee42.com>, @PRossbach, Docker JAX 2016-04

  4. 4 / 58 © 2016 <peter.rossbach@bee42.com>, @PRossbach, Docker JAX 2016-04

  5. 5 / 58 © 2016 <peter.rossbach@bee42.com>, @PRossbach, Docker JAX 2016-04

  6. 6 / 58 © 2016 <peter.rossbach@bee42.com>, @PRossbach, Docker JAX 2016-04

  7. 7 / 58 © 2016 <peter.rossbach@bee42.com>, @PRossbach, Docker JAX 2016-04

  8. 8 / 58 © 2016 <peter.rossbach@bee42.com>, @PRossbach, Docker JAX 2016-04

  9. 9 / 58 © 2016 <peter.rossbach@bee42.com>, @PRossbach, Docker JAX 2016-04

  10. 10 / 58 © 2016 <peter.rossbach@bee42.com>, @PRossbach, Docker JAX 2016-04

  11. 11 / 58 © 2016 <peter.rossbach@bee42.com>, @PRossbach, Docker JAX 2016-04

  12. 12 / 58 © 2016 <peter.rossbach@bee42.com>, @PRossbach, Docker JAX 2016-04

  13. 13 / 58 © 2016 <peter.rossbach@bee42.com>, @PRossbach, Docker JAX 2016-04

  14. 14 / 58 © 2016 <peter.rossbach@bee42.com>, @PRossbach, Docker JAX 2016-04

  15. 15 / 58 © 2016 <peter.rossbach@bee42.com>, @PRossbach, Docker JAX 2016-04

  16. 16 / 58 © 2016 <peter.rossbach@bee42.com>, @PRossbach, Docker JAX 2016-04

  17. 17 / 58 © 2016 <peter.rossbach@bee42.com>, @PRossbach, Docker JAX 2016-04

  18. 18 / 58 © 2016 <peter.rossbach@bee42.com>, @PRossbach, Docker JAX 2016-04

  19. 19 / 58 © 2016 <peter.rossbach@bee42.com>, @PRossbach, Docker JAX 2016-04

  20. 20 / 58 © 2016 <peter.rossbach@bee42.com>, @PRossbach, Docker JAX 2016-04

  21. 21 / 58 © 2016 <peter.rossbach@bee42.com>, @PRossbach, Docker JAX 2016-04

  22. 22 / 58 © 2016 <peter.rossbach@bee42.com>, @PRossbach, Docker JAX 2016-04

    $ mvn clean package $ cat >docker-compose.yml <<EOF version: "2" services: app: build: . tomcat: image: tomcat:8-jre8 ports: - "8080" volumes_from: - app links: - mysql mysql: image: mysql EOF $ docker-compose up -d --build $ docker-compose scale tomcat=2
  23. 23 / 58 © 2016 <peter.rossbach@bee42.com>, @PRossbach, Docker JAX 2016-04

    FROM java:8-jre MAINTAINER Peter Rossbach <peter.rossbach@bee42.com> ADD logback.xml /app/logback.xml ADD run.sh /app/run.sh ADD target/MyMircoService.jar /app/MyMircoService.jar RUN chmod +x /app/run.sh && mkdir -p /var/log/app WORKDIR /app VOLUME /var/log/logs CMD /app/run.sh EXPOSE 8080
  24. 24 / 58 © 2016 <peter.rossbach@bee42.com>, @PRossbach, Docker JAX 2016-04

    java -Xmx512m -Djava.security.egd=file:/dev/urandom \ -Dlogging.config=/app/logback.xml -jar /app/MyMircoService.jar
  25. 25 / 58 © 2016 <peter.rossbach@bee42.com>, @PRossbach, Docker JAX 2016-04

  26. 26 / 58 © 2016 <peter.rossbach@bee42.com>, @PRossbach, Docker JAX 2016-04

  27. 27 / 58 © 2016 <peter.rossbach@bee42.com>, @PRossbach, Docker JAX 2016-04

  28. 28 / 58 © 2016 <peter.rossbach@bee42.com>, @PRossbach, Docker JAX 2016-04

  29. 29 / 58 © 2016 <peter.rossbach@bee42.com>, @PRossbach, Docker JAX 2016-04

  30. 30 / 58 © 2016 <peter.rossbach@bee42.com>, @PRossbach, Docker JAX 2016-04

  31. 31 / 58 © 2016 <peter.rossbach@bee42.com>, @PRossbach, Docker JAX 2016-04

  32. 32 / 58 © 2016 <peter.rossbach@bee42.com>, @PRossbach, Docker JAX 2016-04

  33. 33 / 58 © 2016 <peter.rossbach@bee42.com>, @PRossbach, Docker JAX 2016-04

  34. 34 / 58 © 2016 <peter.rossbach@bee42.com>, @PRossbach, Docker JAX 2016-04

  35. 35 / 58 © 2016 <peter.rossbach@bee42.com>, @PRossbach, Docker JAX 2016-04

    apiVersion: v1 kind: ReplicationController metadata: labels: name: myservice name: myservice spec: replicas: 1 selector: name: myservice template: metadata: labels: name: myservice spec: ...
  36. 36 / 58 © 2016 <peter.rossbach@bee42.com>, @PRossbach, Docker JAX 2016-04

    ... containers: - name: myservice resources: limits: cpu: 0.5 env: - name: POD_NAMESPACE valueFrom: fieldRef: fieldPath: metadata.namespace image: docker-registry:5000/infrabricks/myservice imagePullPolicy: Always ports: - containerPort: 8080 name: http volumeMounts: - mountPath: /var/log/app name: logs livenessProbe: httpGet: path: /health port: 8080 initialDelaySeconds: 25 timeoutSeconds: 2 volumes: - name: logs emptyDir: {}
  37. 37 / 58 © 2016 <peter.rossbach@bee42.com>, @PRossbach, Docker JAX 2016-04

    apiVersion: v1 kind: Service metadata: labels: name: myservice group: frontend name: myservice-hello spec: ports: - port: 33110 targetPort: 8080 nodePort: 32110 selector: name: myservice type: NodePort
  38. 38 / 58 © 2016 <peter.rossbach@bee42.com>, @PRossbach, Docker JAX 2016-04

  39. 39 / 58 © 2016 <peter.rossbach@bee42.com>, @PRossbach, Docker JAX 2016-04

  40. 40 / 58 © 2016 <peter.rossbach@bee42.com>, @PRossbach, Docker JAX 2016-04

  41. 41 / 58 © 2016 <peter.rossbach@bee42.com>, @PRossbach, Docker JAX 2016-04

  42. 42 / 58 © 2016 <peter.rossbach@bee42.com>, @PRossbach, Docker JAX 2016-04

  43. 43 / 58 © 2016 <peter.rossbach@bee42.com>, @PRossbach, Docker JAX 2016-04

  44. 44 / 58 © 2016 <peter.rossbach@bee42.com>, @PRossbach, Docker JAX 2016-04

  45. 45 / 58 © 2016 <peter.rossbach@bee42.com>, @PRossbach, Docker JAX 2016-04

  46. 46 / 58 © 2016 <peter.rossbach@bee42.com>, @PRossbach, Docker JAX 2016-04

  47. 47 / 58 © 2016 <peter.rossbach@bee42.com>, @PRossbach, Docker JAX 2016-04

  48. 48 / 58 © 2016 <peter.rossbach@bee42.com>, @PRossbach, Docker JAX 2016-04

  49. 49 / 58 © 2016 <peter.rossbach@bee42.com>, @PRossbach, Docker JAX 2016-04

  50. 50 / 58 © 2016 <peter.rossbach@bee42.com>, @PRossbach, Docker JAX 2016-04

    $ docker run -d -p 8000:80 \ rossbachp/kubernetes-orchestration:Jax-2016-04 $ open http://<docker host>:8000/kubernetes-orchestration
  51. 51 / 58 © 2016 <peter.rossbach@bee42.com>, @PRossbach, Docker JAX 2016-04

  52. 52 / 58 © 2016 <peter.rossbach@bee42.com>, @PRossbach, Docker JAX 2016-04

  53. 53 / 58 © 2016 <peter.rossbach@bee42.com>, @PRossbach, Docker JAX 2016-04

  54. 54 / 58 © 2016 <peter.rossbach@bee42.com>, @PRossbach, Docker JAX 2016-04

  55. 55 / 58 © 2016 <peter.rossbach@bee42.com>, @PRossbach, Docker JAX 2016-04

  56. 56 / 58 © 2016 <peter.rossbach@bee42.com>, @PRossbach, Docker JAX 2016-04

  57. 57 / 58 © 2016 <peter.rossbach@bee42.com>, @PRossbach, Docker JAX 2016-04

  58. 58 / 58 © 2016 <peter.rossbach@bee42.com>, @PRossbach, Docker JAX 2016-04