docker & gitlab

45
Docker & GitLab Docker.Taipei Philipz (鄭淳尹) 2016-11-23 VoiceTube

Upload: philip-zheng

Post on 09-Jan-2017

110 views

Category:

Software


1 download

TRANSCRIPT

Page 1: Docker & GitLab

Docker&

GitLabDocker.Taipei

Philipz (鄭淳尹)2016-11-23 VoiceTube

Page 2: Docker & GitLab

Philipz (鄭淳尹)

Docker.Taipei 共同發起人

歐萊禮《Docker 錦囊妙計》譯者

碁峰《Docker入門與實戰》、

《Kubernetes使用指南》審譯者

2014 COSCUP/iThome Summit 講者

2015 Microsoft Azure 開發者大會 講者

2016 COSCUP Docker 進階工作坊

元智大學資工系 專題演講

Page 3: Docker & GitLab

Virtualization History● IBM zOS● Virtual Hardware - VMware, KVM, Xen, VirtualBox● Hardware-assisted virtualization● Paravirtualization● OS-level virtualization

a. OpenVZb. LXCc. Docker

● IaaS, PaaS, SaaS - Snapshot, Migration

Page 4: Docker & GitLab

The Martix of Hell

Page 5: Docker & GitLab

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

Page 6: Docker & GitLab
Page 10: Docker & GitLab

Container PrincipleReal Container

One Container

One Customer

One Commodity

Software Container

One Container

One Process

Page 11: Docker & GitLab

Docker Tools

Page 12: Docker & GitLab

Still No Silver BulletContainer is one key element, not all.

DevOps pipeline process

Microservices, or other service stacks.

Infrastructure as Code

Business model

Page 13: Docker & GitLab

Commercial Product

Development Platform

Infrastructure

Standards Design

Page 14: Docker & GitLab

Business model

Microservices

Infrastructureas Code

Container Design

DevOps

Page 15: Docker & GitLab

Like it...

Why DevOps?

Page 16: Docker & GitLab

Docker Datacenter

Page 17: Docker & GitLab

2015-01-31 Study-Area

Gitbook: Docker 從入門到實踐

Page 18: Docker & GitLab

Docker Management commands

Page 19: Docker & GitLab

Docker image commands

Page 20: Docker & GitLab

Docker container commands (1/2)

Page 21: Docker & GitLab

Docker container commands (2/2)

Page 22: Docker & GitLab

Docker Layers

Page 23: Docker & GitLab

Create Docker image1. Docker commit2. Dockerfile - docker build3. Docker Hub auto-build4. FROM scratch5. Based on others, ubuntu, alpine...Example:https://github.com/docker/labs/tree/master/beginner/static-sitedocker save busybox > busybox.tardocker load < busybox.tar

Page 26: Docker & GitLab

Use Scenario

Commit

Push

Pull

Deploy

Page 27: Docker & GitLab

Microservices Java WorkerDocker Birthday #3 training

Page 28: Docker & GitLab

Microservices .NET Worker

Docker Birthday #3 training

Page 29: Docker & GitLab

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?

Page 30: Docker & GitLab

End to End TestsCI with Docker Compose is easy to implement.

From: Oreilly - Building Microservices

Page 31: Docker & GitLab
Page 32: Docker & GitLab

Test Double Approach

Page 33: Docker & GitLab

New Compose Test Approach

The Same

Page 34: Docker & GitLab
Page 35: Docker & GitLab

New Testing Approach

From: Testing Strategies for Docker Containers

Page 36: Docker & GitLab
Page 37: Docker & GitLab
Page 38: Docker & GitLab
Page 39: Docker & GitLab
Page 40: Docker & GitLab
Page 41: Docker & GitLab
Page 42: Docker & GitLab
Page 45: Docker & GitLab

Time is more precious than gold.

Thank You