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 & GitLab

521 views

Published on

2016-11-23 VoiceTube 分享

Published in: Software
  • Be the first to comment

Docker & GitLab

  1. 1. Docker & GitLab Docker.Taipei Philipz (鄭淳尹) 2016-11-23 VoiceTube
  2. 2. Philipz (鄭淳尹) Docker.Taipei 共同發起人 歐萊禮《Docker 錦囊妙計》譯者 碁峰《Docker入門與實戰》、 《Kubernetes使用指南》審譯者 2014 COSCUP/iThome Summit 講者 2015 Microsoft Azure 開發者大會 講者 2016 COSCUP Docker 進階工作坊 元智大學資工系 專題演講
  3. 3. Virtualization History ● IBM zOS ● Virtual Hardware - VMware, KVM, Xen, VirtualBox ● Hardware-assisted virtualization ● Paravirtualization ● OS-level virtualization a. OpenVZ b. LXC c. Docker ● IaaS, PaaS, SaaS - Snapshot, Migration
  4. 4. The Martix of Hell
  5. 5. A Brief History of Containers 1979: Unix V7 2000: FreeBSD Jails 2005: Open VZ 2008: LXC 2013: LMCTFY 2013: Docker 2016: Windows Container From: A Brief History of Containers: From 1970s chroot to Docker 2016
  6. 6. Containers vs. VMs Blog description
  7. 7. Containers vs. VMs Blog description
  8. 8. Containers are not VMs Blog description
  9. 9. Container Principle Real Container One Container One Customer One Commodity Software Container One Container One Process
  10. 10. Docker Tools
  11. 11. Still No Silver Bullet Container is one key element, not all. DevOps pipeline process Microservices, or other service stacks. Infrastructure as Code Business model
  12. 12. Commercial Product Development Platform Infrastructure Standards Design
  13. 13. Business model Microservices Infrastructure as Code Container Design DevOps
  14. 14. Like it... Why DevOps?
  15. 15. Docker Datacenter
  16. 16. 2015-01-31 Study-Area Gitbook: Docker 從入門到實踐
  17. 17. Docker Management commands
  18. 18. Docker image commands
  19. 19. Docker container commands (1/2)
  20. 20. Docker container commands (2/2)
  21. 21. Docker Layers
  22. 22. Create Docker image 1. Docker commit 2. Dockerfile - docker build 3. Docker Hub auto-build 4. FROM scratch 5. Based on others, ubuntu, alpine... Example: https://github.com/docker/labs/tree/master/beginn er/static-site docker save busybox > busybox.tar docker load < busybox.tar
  23. 23. Dockerfile Reference Same folder, docker build . docker build -f /other/folder/file . Add tag, docker build -t TAG_NAME . Sample: FROM debian:jessie MAINTAINER docker "docker@nginx.com" RUN apt-get update && apt-get install -y nginx CMD ["nginx", "-g", "daemon off;"] Healthcheck from 1.12
  24. 24. Dockerfile Practice 1. Must be “Dockerfile”. 2. Use a .dockerignore file, like .gitignore. 3. Minimize the number of layers 4. Sort multi-line arguments 5. ADD or COPY 6. CMD or ENTRYPOINT 7. ONBUILD 8. EXPOSE and USER 9. WORKDIR and ENV
  25. 25. Use Scenario Commit Push Pull Deploy
  26. 26. Microservices Java Worker Docker Birthday #3 training
  27. 27. Microservices .NET Worker Docker Birthday #3 training
  28. 28. Docker Compose & CI/CD ̶G̶i̶t̶h̶u̶b̶, ̶ ̶C̶i̶r̶c̶l̶e̶C̶I̶, ̶D̶o̶c̶k̶e̶r̶ ̶H̶u̶b̶ = GitLab Testing level? Coding effort? Env. build-up effort?
  29. 29. End to End Tests CI with Docker Compose is easy to implement. From: Oreilly - Building Microservices
  30. 30. Test Double Approach
  31. 31. New Compose Test Approach The Same
  32. 32. New Testing Approach From: Testing Strategies for Docker Containers
  33. 33. Vulnerability Analysis CoreOS Clair Anchore
  34. 34. Exercise & Self-learning 1. Docker Basic - Katacoda 2. Docker Trainning 3. Docker Mentor Week 4. Docker Tutorials and Labs Online Self-learning MS Win Online Lab Data-processing pipeline
  35. 35. Time is more precious than gold. Thank You

×