DockerCon EU 2015: Official Repos and Project Nautilus

41
Docker Content Official Repos, Project Nautilus, and the content ecosystem Krish Garimella & Mario Ponticello

Transcript of DockerCon EU 2015: Official Repos and Project Nautilus

Page 1: DockerCon EU 2015: Official Repos and Project Nautilus

Docker ContentOfficial Repos, Project Nautilus, and the content ecosystem

Krish Garimella& Mario Ponticello

Page 2: DockerCon EU 2015: Official Repos and Project Nautilus

Docker adoption is driven bygreat content!

Page 3: DockerCon EU 2015: Official Repos and Project Nautilus

1+ billion pulls

Page 4: DockerCon EU 2015: Official Repos and Project Nautilus

1+ billion pulls

Librar

y

boun

tylabs

kube

rnetes

schibs

tedpa

ymen

t

gilderl

abs

barch

art deis

progri

ummes

os

Page 5: DockerCon EU 2015: Official Repos and Project Nautilus

1+ billion pulls

Librar

y

boun

tylabs

kube

rnetes

schibs

tedpa

ymen

t

gilderl

abs

barch

art deis

progri

ummes

os

Docker Official Repos

Page 6: DockerCon EU 2015: Official Repos and Project Nautilus

Why are Official Repos so successful?

Page 7: DockerCon EU 2015: Official Repos and Project Nautilus

…and security!

Made with love and care…

Page 8: DockerCon EU 2015: Official Repos and Project Nautilus

…by our partners

Page 9: DockerCon EU 2015: Official Repos and Project Nautilus
Page 10: DockerCon EU 2015: Official Repos and Project Nautilus

Maintaining the Jenkins Official RepoNicolas De Loof, Jenkins

@ndeloof, [email protected]

Page 11: DockerCon EU 2015: Official Repos and Project Nautilus

Why yet another Jenkins image?

Page 12: DockerCon EU 2015: Official Repos and Project Nautilus

• We wanted to make Jenkins a first-class Docker citizen

• We wanted to get the Docker community involved

• We wanted to learn!

• We planned to use Docker for our own product

Because…

Page 13: DockerCon EU 2015: Official Repos and Project Nautilus

• How to set users, permissions, volumes, entrypoint…

• We disagreed with some of them…

• Argued…

• Read the docs…

• Had to adapt to get the image approved…

• And now, we admit that the best practices are good!

Embracing best practices

Page 14: DockerCon EU 2015: Official Repos and Project Nautilus

• We learned a great deal:

• Usages

• Best practices

• User misunderstanding

• Extensibility

• Docker itself!

• Possible improvements to Jenkins to make it more Docker-friendly

Getting feedback/contributions

Page 15: DockerCon EU 2015: Official Repos and Project Nautilus

For example…

Page 16: DockerCon EU 2015: Official Repos and Project Nautilus

• Human-based review

• https://github.com/docker-library/official-images/pulls

• Fairly fast for minor changes

• They want to limit the number of tags

• Not my initial use-case

• As a support engineer, I wanted all versions on Hub

Limitations

Page 17: DockerCon EU 2015: Official Repos and Project Nautilus

• Release early and often

• PR review is faster (~24h) if you don’t introduce big-bang changes

• Mix official with classic

• Jenkins weekly releases are published as jenkinsci/jenkins based on the exact same Dockerfile (sed)

Workarounds

Page 18: DockerCon EU 2015: Official Repos and Project Nautilus

Jenkins job

Jenkins job

Dockerfile jenkinsPR to « official » library

jenkinsci/jenkins

cloudbees/jenkins-

enterprise

sed s/LTS/weekly Dockerfile

Dockerfilesed s/OSS/cloudbees

Publication workflow

Page 19: DockerCon EU 2015: Official Repos and Project Nautilus

Thank you!Nicolas De Loof, Jenkins

@ndeloof, [email protected]

Page 20: DockerCon EU 2015: Official Repos and Project Nautilus

What are users saying?

Page 21: DockerCon EU 2015: Official Repos and Project Nautilus

We want more great content!

The President of Docker Users

Page 22: DockerCon EU 2015: Official Repos and Project Nautilus

…and secure images!

Page 23: DockerCon EU 2015: Official Repos and Project Nautilus

…and optimized images!

Page 24: DockerCon EU 2015: Official Repos and Project Nautilus

Amazing apps

CommunityImages

Curated Images

Content curation today

Page 25: DockerCon EU 2015: Official Repos and Project Nautilus

Amazing apps

CommunityImages

Curated Images

What we need

Page 26: DockerCon EU 2015: Official Repos and Project Nautilus

1. Scale up the security posture assessment

2. Notify users of new vulnerabilities in existing code proactively

3. Provide visibility to end-users on the security posture of images

Project Nautilus goals

Page 27: DockerCon EU 2015: Official Repos and Project Nautilus

• Project Nautilus is an image-scanning service that makes it easier to build and consume high-integrity content

• Steps through a sequence of tests, including:

• Image security

• Component inventory/license management

• Image optimization

• Basic functional testing

• Functions as a source of truth for certification metadata

• Has an extensible backend; may support 3rd-party plugins

Project Nautilus details

Page 28: DockerCon EU 2015: Official Repos and Project Nautilus

Docker scans derived images

Docker works with partners to fix OS images

Publisher resubmits

image

Publisher calibrates

dependencies

Docker and publisher

release clean image

Project Nautilus process

Page 29: DockerCon EU 2015: Official Repos and Project Nautilus

APIDockerImage

Scanning

CVE ScanningSecurity

Scan

SW Inventory and License

Image Optimization

Plugins

ValidationMicroservices

HUB

End Users

Publishers

Notifications

Registry

Project Nautilus architecture

Page 30: DockerCon EU 2015: Official Repos and Project Nautilus
Page 31: DockerCon EU 2015: Official Repos and Project Nautilus
Page 32: DockerCon EU 2015: Official Repos and Project Nautilus
Page 33: DockerCon EU 2015: Official Repos and Project Nautilus
Page 34: DockerCon EU 2015: Official Repos and Project Nautilus
Page 35: DockerCon EU 2015: Official Repos and Project Nautilus
Page 36: DockerCon EU 2015: Official Repos and Project Nautilus
Page 37: DockerCon EU 2015: Official Repos and Project Nautilus
Page 38: DockerCon EU 2015: Official Repos and Project Nautilus
Page 39: DockerCon EU 2015: Official Repos and Project Nautilus
Page 40: DockerCon EU 2015: Official Repos and Project Nautilus
Page 41: DockerCon EU 2015: Official Repos and Project Nautilus

• To submit an Official Repo, visit https://docs.docker.com/docker-hub/official_repos/

• To learn more about Nautilus, email us at [email protected]

Get involved