Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Docker Meetup Mannheim: Multiarch docker images for cross-platform apps

233 views

Published on

Docker now supports both Linux and Windows. With Windows Server 2016 you can use Docker and Windows Containers. See how Docker supports you to ship your cross-platform software as multi-arch Container images.

Example repo https://github.com/StefanScherer/whoami

Published in: Engineering
  • Be the first to comment

Docker Meetup Mannheim: Multiarch docker images for cross-platform apps

  1. 1. B U I L D A N D D E P L O Y M U LT I A R C H L I N U X A N D W I N D O W S C O N TA I N E R I M A G E S S T E FA N S C H E R E R @ s t e f s c h e re r
  2. 2. Build and ship Docker images Windows Containers Build software with GitHub and Cloud CI servers Create a multi-arch Docker image Agenda
  3. 3. whoami Stefan Scherer Sr. SoBware Engineer SEAL Systems Blog at stefanscherer.github.io @stefscherer
  4. 4. A software company Developers write great apps…
  5. 5. Your customers ♥ Developers write great apps…
  6. 6. Your customers vary ♥ ♥ Developers write great apps…
  7. 7. Love cross-platform Java, Node.js, .NET Core, … ♥ ♥
  8. 8. The shipping problem Java, Node.js, .NET Core, … ♥ ♥
  9. 9. How to …
 … run your app as a service? … package your app? … install all dependencies? … deal with customers machines? … update? … rollback? The shipping problem Java, Node.js, .NET Core, …
  10. 10. ♥ ♥
  11. 11. What is a container?
  12. 12. What is a container? Standardized packaging for soBware and dependencies Isolate apps from each other Share the same OS kernel Works for all major Linux
 distribuRons
  13. 13. Containers on all major platforms
  14. 14. docker container run Hub nginx microsoft/iis
  15. 15. docker container run - different OS Hub nginx microsoft/iis ⚡ ⚡
  16. 16. Manifest lists
  17. 17. Manifest list Hub me/myapp
  18. 18. Manifest list: docker container run Hub me/myapp me/myappme/myapp
  19. 19. docker run microsoft/dotnet dotnet --version
  20. 20. How to build container images?
  21. 21. docker image build / docker image push Hub me/myapp:linux me/myapp:windows
  22. 22. How to build the manifest list?
  23. 23. docker manifest create Hub me/myapp
  24. 24. docker manifest push Hub me/myapp
  25. 25. How to build a CI pipeline for that?
  26. 26. Docker CI Pipeline for Linux and Windows docker image push git push docker image push Container
 Registry Run Unit Tests Build App docker image build docker manifest push
  27. 27. Hub Docker CI Pipeline for Linux and Windows docker image push git push docker image push Run Unit Tests Build App docker image build docker manifest push
  28. 28. Demo
 building a multi-arch container image
  29. 29. docker image build docker image push docker image build docker image push docker manifest create docker manifest push Recap me/myapp me/myapp:linux me/myapp:windows
  30. 30. docker manifest command Pull request https://github.com/docker/cli/pull/138 Docker 17.09 ? manifest-tool from Phil Estes Binaries at https://github.com/estesp/manifest-tool/releases Availability
  31. 31. T H A N K Y O U ! Q U E S T I O N S ? S T E FA N S C H E R E R @ s t e f s c h e re r
  32. 32. 10% off with promo code „CaptainStefan“

×