Docker Container Lifecycles, Problem or Opportunity? by Baruch Sadogursky, JFrog

60
Docker Container Lifecycles - Problem or Opportunity? Baruch Sadogursky Dev Advocate @JFrog

Transcript of Docker Container Lifecycles, Problem or Opportunity? by Baruch Sadogursky, JFrog

Page 1: Docker Container Lifecycles, Problem or Opportunity? by Baruch Sadogursky, JFrog

Docker Container Lifecycles -

Problem or Opportunity?

BaruchSadogurskyDev Advocate @JFrog

Page 2: Docker Container Lifecycles, Problem or Opportunity? by Baruch Sadogursky, JFrog

What Frog?

Page 3: Docker Container Lifecycles, Problem or Opportunity? by Baruch Sadogursky, JFrog

What Frog?

Page 4: Docker Container Lifecycles, Problem or Opportunity? by Baruch Sadogursky, JFrog

What Frog?

Page 5: Docker Container Lifecycles, Problem or Opportunity? by Baruch Sadogursky, JFrog

What Frog?

Page 6: Docker Container Lifecycles, Problem or Opportunity? by Baruch Sadogursky, JFrog

JFrog Xray

Page 7: Docker Container Lifecycles, Problem or Opportunity? by Baruch Sadogursky, JFrog

Poll Time!

Page 8: Docker Container Lifecycles, Problem or Opportunity? by Baruch Sadogursky, JFrog

Poll Time!

Heard about Docker

Can do the tutorial

PoCing, playing etc.

Production, baby!

Page 9: Docker Container Lifecycles, Problem or Opportunity? by Baruch Sadogursky, JFrog
Page 10: Docker Container Lifecycles, Problem or Opportunity? by Baruch Sadogursky, JFrog
Page 11: Docker Container Lifecycles, Problem or Opportunity? by Baruch Sadogursky, JFrog
Page 12: Docker Container Lifecycles, Problem or Opportunity? by Baruch Sadogursky, JFrog

JFrog Artifactory + Docker

Page 13: Docker Container Lifecycles, Problem or Opportunity? by Baruch Sadogursky, JFrog

Who’s using Docker and nothing else?

Page 14: Docker Container Lifecycles, Problem or Opportunity? by Baruch Sadogursky, JFrog

The Promotion Pyramid

Development builds

Dev Integration tests

Integr. tests

Staging

Pre-Prod

Prod

Amount of builds

Bu

ild/D

eplo

y ti

me

Amount of binaries

Page 15: Docker Container Lifecycles, Problem or Opportunity? by Baruch Sadogursky, JFrog

Pipeline: Quality Gates and Visibility

Source: Agile ALM, Michael Hüttermann, Manning Publications Co.

Page 16: Docker Container Lifecycles, Problem or Opportunity? by Baruch Sadogursky, JFrog
Page 17: Docker Container Lifecycles, Problem or Opportunity? by Baruch Sadogursky, JFrog

$docker build

Page 18: Docker Container Lifecycles, Problem or Opportunity? by Baruch Sadogursky, JFrog
Page 19: Docker Container Lifecycles, Problem or Opportunity? by Baruch Sadogursky, JFrog

Too easy!

Page 20: Docker Container Lifecycles, Problem or Opportunity? by Baruch Sadogursky, JFrog
Page 21: Docker Container Lifecycles, Problem or Opportunity? by Baruch Sadogursky, JFrog

That’s why.

Page 22: Docker Container Lifecycles, Problem or Opportunity? by Baruch Sadogursky, JFrog

Let’s fix it!

Page 23: Docker Container Lifecycles, Problem or Opportunity? by Baruch Sadogursky, JFrog

Let’s fix it (again)!

Page 24: Docker Container Lifecycles, Problem or Opportunity? by Baruch Sadogursky, JFrog

Let’s fix it (again)!

Page 25: Docker Container Lifecycles, Problem or Opportunity? by Baruch Sadogursky, JFrog

What you code is (not) what you get

Page 26: Docker Container Lifecycles, Problem or Opportunity? by Baruch Sadogursky, JFrog
Page 27: Docker Container Lifecycles, Problem or Opportunity? by Baruch Sadogursky, JFrog

The stronger the quality gates, more trust you have.

Page 28: Docker Container Lifecycles, Problem or Opportunity? by Baruch Sadogursky, JFrog
Page 29: Docker Container Lifecycles, Problem or Opportunity? by Baruch Sadogursky, JFrog

Not so fast…

Page 30: Docker Container Lifecycles, Problem or Opportunity? by Baruch Sadogursky, JFrog

Trumped-up limitations

Page 31: Docker Container Lifecycles, Problem or Opportunity? by Baruch Sadogursky, JFrog

The Anatomy of Docker Tag

Page 32: Docker Container Lifecycles, Problem or Opportunity? by Baruch Sadogursky, JFrog

Wait a second, how can I have more than one

repository per host now?!

Page 33: Docker Container Lifecycles, Problem or Opportunity? by Baruch Sadogursky, JFrog

How can we support this?

https://host:8081/artifactory/docker-dev/busybox

https://host:8081/artifactory/docker-staging/busybox

https://host:8081/artifactory/docker-qa/busybox

https://host:8081/artifactory/docker-prod/busybox

Page 34: Docker Container Lifecycles, Problem or Opportunity? by Baruch Sadogursky, JFrog

Panic!

Page 35: Docker Container Lifecycles, Problem or Opportunity? by Baruch Sadogursky, JFrog

Virtual hosts/ports to the rescue

https://host:8081/artifactory/docker-dev/busybox

docker tag host:port/busybox

Context name

Virtual repository nameTag name

Page 36: Docker Container Lifecycles, Problem or Opportunity? by Baruch Sadogursky, JFrog

server {

listen 5001;

server_name 192.168.99.100;

if ($http_x_forwarded_proto = '') {

set $http_x_forwarded_proto $scheme;

}

rewrite ^/(v1|v2)/(.*) /artifactory/api/docker/docker-dev/$1/$2;

}

}

Page 37: Docker Container Lifecycles, Problem or Opportunity? by Baruch Sadogursky, JFrog
Page 38: Docker Container Lifecycles, Problem or Opportunity? by Baruch Sadogursky, JFrog

But then you realize…

Wait a second, now I need to pull, retag and push for

every step?!

Page 39: Docker Container Lifecycles, Problem or Opportunity? by Baruch Sadogursky, JFrog
Page 40: Docker Container Lifecycles, Problem or Opportunity? by Baruch Sadogursky, JFrog

Virtual Repositories FTW

Page 41: Docker Container Lifecycles, Problem or Opportunity? by Baruch Sadogursky, JFrog

What we did?

Page 42: Docker Container Lifecycles, Problem or Opportunity? by Baruch Sadogursky, JFrog

What we did?

- Minimize number of repositories docker

interact with

Page 43: Docker Container Lifecycles, Problem or Opportunity? by Baruch Sadogursky, JFrog

What we did?

- Minimize number of repositories docker

interact with

- deploy to virtual (backed by dev repository)

Page 44: Docker Container Lifecycles, Problem or Opportunity? by Baruch Sadogursky, JFrog

What we did?

- Minimize number of repositories docker

interact with

- deploy to virtual (backed by dev repository)

- promote within artifactory

Page 45: Docker Container Lifecycles, Problem or Opportunity? by Baruch Sadogursky, JFrog

What we did?

- Minimize number of repositories docker

interact with

- deploy to virtual (backed by dev repository)

- promote within artifactory

- Resolve from virtual (production-ready

images)

Page 46: Docker Container Lifecycles, Problem or Opportunity? by Baruch Sadogursky, JFrog

Why?

Page 47: Docker Container Lifecycles, Problem or Opportunity? by Baruch Sadogursky, JFrog

Finding the needle in haystack of

binaries

Page 48: Docker Container Lifecycles, Problem or Opportunity? by Baruch Sadogursky, JFrog

Finding the needle in haystack of

binaries- What deployed where

- Tracing binaries to sources

Page 49: Docker Container Lifecycles, Problem or Opportunity? by Baruch Sadogursky, JFrog

Finding the needle in haystack of

binaries- What deployed where

- Tracing binaries to sources

- Cherry pick the one to prod

Page 50: Docker Container Lifecycles, Problem or Opportunity? by Baruch Sadogursky, JFrog

Adding Metadata

Page 51: Docker Container Lifecycles, Problem or Opportunity? by Baruch Sadogursky, JFrog
Page 52: Docker Container Lifecycles, Problem or Opportunity? by Baruch Sadogursky, JFrog

Consuming Metadata

Page 53: Docker Container Lifecycles, Problem or Opportunity? by Baruch Sadogursky, JFrog

Let’s talk security

Page 54: Docker Container Lifecycles, Problem or Opportunity? by Baruch Sadogursky, JFrog

Access Control

Page 55: Docker Container Lifecycles, Problem or Opportunity? by Baruch Sadogursky, JFrog

r/w on repo level

is not enough

Page 56: Docker Container Lifecycles, Problem or Opportunity? by Baruch Sadogursky, JFrog

r/w on repo level

is not enough

- read, write, delete, annotate

- on any level – registry, repo, image or

tag

Page 57: Docker Container Lifecycles, Problem or Opportunity? by Baruch Sadogursky, JFrog

Content Control – Don’t Lose It

Page 58: Docker Container Lifecycles, Problem or Opportunity? by Baruch Sadogursky, JFrog
Page 59: Docker Container Lifecycles, Problem or Opportunity? by Baruch Sadogursky, JFrog
Page 60: Docker Container Lifecycles, Problem or Opportunity? by Baruch Sadogursky, JFrog

Thank you!