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.

Azure Meetup Stuttgart - Multi-arch Docker images

2,460 views

Published on

Bauen und Verteilen hybrider Docker Images für Linux und Windows

Mit Docker haben wir gelernt wie einfach Applikationen in Linux Container paketiert werden können. Aber was ist, wenn man im Rechenzentrum Windows Server vorfindet?

Mit Windows Server 2016 und Docker kann der gleiche, einfache Workflow für beide Plattformen genutzt werden. Die Unterschiede zwischen Linux und Windows werden damit deutlich verringert.

In diesem Vortrag wird gezeigt, wie man eine Anwendung bauen und paketieren kann, die sowohl unter Linux als auch Windows in Containern läuft und wie man hybride Multi-Arch Docker Images baut.

Desweiteren blicken wir auf den aktuellen Stand der Windows Container in Windows Server 1709 und lernen nützliche Details für den Betrieb eines hybriden Docker Swarm Clusters.

Published in: Internet
  • Be the first to comment

Azure Meetup Stuttgart - Multi-arch Docker images

  1. 1. Heutiger Sponsor: Location, Sprecher, Verpflegung Heutiges Thema: Stefan Scherer Bauen und Verteilen hybrider
 Docker Images für
 Linux und Windows Azure Usergroup
 Stuttgart AzureStuttgart.de | twitter.com/AzureStuttgart Foto mit freundlicher Genehmigung von lightsniper.de
  2. 2. ♥ ♥
  3. 3. Docker journey to Multi Arch + Multi OS Create a multi-arch Docker image Build a CI pipeline Tips & Tricks Agenda
  4. 4. whoami Stefan Scherer Sr. SoFware Engineer SEAL Systems Blog at stefanscherer.github.io @stefscherer
  5. 5. What is a container?
  6. 6. What is a container? Standardized packaging for soFware and dependencies Isolate apps from each other Share the same OS kernel Works for all major Linux
 distribuOons
  7. 7. Containers on all major platforms
  8. 8. docker container run Hub nginx microsoft/iis
  9. 9. docker container run - different OS Hub nginx microsoft/iis ⚡ ⚡LCOW FTW!
  10. 10. docker container run - different CPU architecture Hub nginx ⚡ ⚡ IBM s390 arm32v7/nginx
  11. 11. Manifest lists
  12. 12. Manifest list Hub me/myapp
  13. 13. Manifest list: docker container run Hub me/myapp me/myappme/myapp
  14. 14. Use cases
  15. 15. docker run portainer/portainer
  16. 16. docker run microsoft/dotnet
  17. 17. Many official images are multi-arch now Windows work in progress…
  18. 18. How to build container images?
  19. 19. docker image build / docker image push Hub me/myapp:linux me/myapp:windows
  20. 20. How to build the manifest list?
  21. 21. docker manifest command Pull request https://github.com/docker/cli/pull/138 Docker 17.12 ? manifest-tool from Phil Estes Binaries at https://github.com/estesp/manifest-tool/releases Availability
  22. 22. docker manifest create Hub me/myapp
  23. 23. docker manifest push Hub me/myapp
  24. 24. Demo
 building a multi-arch container image
  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 Example: github.com/StefanScherer/whoami
  28. 28. Tips & Tricks
  29. 29. Show the platforms of a Docker Hub image
  30. 30. Show the platforms of a Docker Hub image
  31. 31. Show the platforms of a Docker Hub image
  32. 32. Show the platforms of a Docker Hub image Windows Server 2016 Windows Server 1709
  33. 33. Use node constraints in a hybrid cluster services: web: image: microsoft/iis deploy: placement: constraints: - node.platform.os == windows
  34. 34. Use node constraints in a hybrid cluster services: web: image: nginx deploy: placement: constraints: - node.platform.os == linux
  35. 35. Use node constraints in a hybrid cluster "spec": { "containers": [ { "name": "iis", "image": "microsoft/iis", ... } ], "nodeSelector": { "beta.kubernetes.io/os": "windows" } }
  36. 36. docker manifest command Pull request https://github.com/docker/cli/pull/138 Docker 17.12 ? manifest-tool from Phil Estes Binaries at https://github.com/estesp/manifest-tool/releases Availability
  37. 37. 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
  38. 38. 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

×