Agenda
• Global Hack Day #3: Rules, Timeline, Prizes
• OSS Product Updates & Demos
• Getting involved
Rules
• Team of 1-3 hackers
• From 4pm PDT on Wednesday, September 16th,
to 9am PDT on Monday, September 21st
• Theme: Hack on a project using Docker or its infrastructure
plumbing (runC, Notary) as a central piece.
Categories:
1. Docker Plugins
2. Docker Plumbing – runC, Notary, etc.
3. Docker Freestyle –using / improving features from the latest Docker
releases including Engine and other Docker OSS projects
Timeline
Kick Off
&
Livestream!
Hack! Hack! Hack!
Hack!
Submission
Deadline &
Local Winners
Prizes
• 1st Place Global Winners: Each member of the three winning
teams (one for each category) will receive a complimentary pass for
DockerCon Europe + accommodations + a lightning talk
• 2nd Place Global Winners: Each member of the three 2nd place
winning teams (one for each category) will receive a limited edition
Docker hoodie.
• 3rd Place Global Winners: Each member of the 3rd place winning
teams (one for each category) will receive a Docker-customized Tile.
• Local Edition Winners: Each member of the winning local edition
team will win a special edition Docker baseball shirt.
Building Tools of Mass Innovation
Mass innovation
Mass innovation
The Docker Mission
9
Anywhere
Distributed Applications
Build Ship Run
Build tools of mass innovation so you can…
10
1. Promote Open Standards
3. Reinvent the Developer Toolbox
2. Improve Infrastructure
Plumbing
4. Unique solutions to business
problems
To do that, we need
Promote Open Standards
11
Open Container Initiative (OCI)
Industry leaders join forces to eliminate fragmentation
• Form a vendor-neutral, open source governance under Linux Foundation
• Establish common standards for container format and runtime
• Docker donated its runtime and associated specifications
• Appointed x-industry maintainers from the libcontainer project
12
http://www.opencontainers.org/
Improve Infrastructure Plumbing
13
Improve Infrastructure Plumbing
Principles of Software Plumbing
• Re-use and improve existing plumbing
• Make new plumbing easy to re-use and improve
• Make small and simple tools, not big complicated ones
• Define standard interfaces for assembling larger systems
50% of Docker source code is plumbing
14
Introducing RunC
Universal runtime for OS containers
• Supports all security features of Linux: selinux,
apparmor, cgroups, seccomp, cap-drop..
• Supports user namespaces, container migration
• Microsoft is contributing Windows support
• Arm support underway
• Intel is contributing DPDK, Secure enclave
• Defines a standard, portable runnable format
• Usable from the command-line or programmatically
https://runc.io
15
Introducing Docker Notary
• Trusted cross platform content distribution
• Platform-agnostic to distribute any content
• Trusted client – server interaction
• Publisher signed content
• Publisher key validates integrity of content
https://github.com/docker/notary
16
runC Demo by Michael Crosby
Docker Content Trust Demo
By Nathan McCauley
18
Re-Invent the Developer Toolbox
19
Networking
Orchestration
Plugins
20
Docker Platform
Networking
Transform Networking as Docker Transformed Compute
• Distributed application portability
• For Devs: SDN for Docker containers
– Re-architected network stack with libnetwork
– Consistent dev experience with Docker CLI
– Multi-container networking
• For Ops: Operator defined and managed network infrastructure
– Multi-host networking
– Plug in support from range of providers
21
Plugins
Pluggable Architecture to extend Docker functionality
• Introducing Networking and Volume plugins
• For Users: Portability and choice for developers and ops
• For Partners: Easily integrate and access Docker users
• Collaboration with Cluster HQ, Glider Labs, Weave
22
Docker Engine
Plugins
docker
Docker client
Volumes
Networking
Service Discovery
Scheduling
Coming soon!
Orchestration Across the App Lifecycle
Docker Machine
Docker Swarm
Docker Compose
23
Swarm + Machine + Compose
Docker
CLICompose
Compose
Machine
.yml Description
up / scale / stop/ kill / rm
create / destroy
Networking / Plugins Demo by David Calavera
25
Orchestration Status Update by Jérôme Petazzoni
26
Keeping up with Docker Machine
• Libmachine is happening!
(PR#1729)
• Disk access is moving to the persist module
• Drivers are moving to plugins
• See nathanleclaire/moby for a sample app
(define your machines with a YAML file)
• Overall stability and usability fixes
(in particular with VirtualBox experience)
27
Keeping up with Docker Compose
• Parallel operations
(so that "docker-compose up" is faster)
• Better integration with Swarm
• Windows support
• Better "extends" mechanism
• Hack ideas: issues #1510 #1953
28
Keeping up with Docker Swarm
• Better integration with Engine (PR#16229)
(easier discovery → easier cluster deployment)
• New discovery mechanism
(peer-to-peer, based on Serf)
29
Getting involved
• Submit hack ideas or reach out to people who
have already submitted their ideas to find
team mates & form a team
• Attend local editions or participate remotely
• Join the conversation on twitter
#dockerhackday
Submission process
• Step 1: Go to github.com/docker/global-hack-day-3/
• Step 2: Fork the repository, and create a subdirectory titled with the name
of your team.
• Step 3: Start hacking on the best Docker project you can think of for a
chance to win the Docker Global hack Day #3!
• Step 4: Once your hack is ready, submit a pull request to this repository
before 9am PDT on Monday, September 21st. All files related to your hack
should live inside your team's subdirectory.
• Step 5: Once you've submitted your Pull Request, go ahead and submit
additional infos about your hackday project via the form on
Docker.com/community/hackathon
Thank you sponsors
*
*Ceci n’est pas une pipe
*
*Ceci n’est pas une pipe

Docker Global Hack Day #3

  • 2.
    Agenda • Global HackDay #3: Rules, Timeline, Prizes • OSS Product Updates & Demos • Getting involved
  • 3.
    Rules • Team of1-3 hackers • From 4pm PDT on Wednesday, September 16th, to 9am PDT on Monday, September 21st • Theme: Hack on a project using Docker or its infrastructure plumbing (runC, Notary) as a central piece. Categories: 1. Docker Plugins 2. Docker Plumbing – runC, Notary, etc. 3. Docker Freestyle –using / improving features from the latest Docker releases including Engine and other Docker OSS projects
  • 4.
    Timeline Kick Off & Livestream! Hack! Hack!Hack! Hack! Submission Deadline & Local Winners
  • 5.
    Prizes • 1st PlaceGlobal Winners: Each member of the three winning teams (one for each category) will receive a complimentary pass for DockerCon Europe + accommodations + a lightning talk • 2nd Place Global Winners: Each member of the three 2nd place winning teams (one for each category) will receive a limited edition Docker hoodie. • 3rd Place Global Winners: Each member of the 3rd place winning teams (one for each category) will receive a Docker-customized Tile. • Local Edition Winners: Each member of the winning local edition team will win a special edition Docker baseball shirt.
  • 6.
    Building Tools ofMass Innovation
  • 8.
  • 9.
    The Docker Mission 9 Anywhere DistributedApplications Build Ship Run Build tools of mass innovation so you can…
  • 10.
    10 1. Promote OpenStandards 3. Reinvent the Developer Toolbox 2. Improve Infrastructure Plumbing 4. Unique solutions to business problems To do that, we need
  • 11.
  • 12.
    Open Container Initiative(OCI) Industry leaders join forces to eliminate fragmentation • Form a vendor-neutral, open source governance under Linux Foundation • Establish common standards for container format and runtime • Docker donated its runtime and associated specifications • Appointed x-industry maintainers from the libcontainer project 12 http://www.opencontainers.org/
  • 13.
  • 14.
    Improve Infrastructure Plumbing Principlesof Software Plumbing • Re-use and improve existing plumbing • Make new plumbing easy to re-use and improve • Make small and simple tools, not big complicated ones • Define standard interfaces for assembling larger systems 50% of Docker source code is plumbing 14
  • 15.
    Introducing RunC Universal runtimefor OS containers • Supports all security features of Linux: selinux, apparmor, cgroups, seccomp, cap-drop.. • Supports user namespaces, container migration • Microsoft is contributing Windows support • Arm support underway • Intel is contributing DPDK, Secure enclave • Defines a standard, portable runnable format • Usable from the command-line or programmatically https://runc.io 15
  • 16.
    Introducing Docker Notary •Trusted cross platform content distribution • Platform-agnostic to distribute any content • Trusted client – server interaction • Publisher signed content • Publisher key validates integrity of content https://github.com/docker/notary 16
  • 17.
    runC Demo byMichael Crosby
  • 18.
    Docker Content TrustDemo By Nathan McCauley 18
  • 19.
  • 20.
  • 21.
    Networking Transform Networking asDocker Transformed Compute • Distributed application portability • For Devs: SDN for Docker containers – Re-architected network stack with libnetwork – Consistent dev experience with Docker CLI – Multi-container networking • For Ops: Operator defined and managed network infrastructure – Multi-host networking – Plug in support from range of providers 21
  • 22.
    Plugins Pluggable Architecture toextend Docker functionality • Introducing Networking and Volume plugins • For Users: Portability and choice for developers and ops • For Partners: Easily integrate and access Docker users • Collaboration with Cluster HQ, Glider Labs, Weave 22 Docker Engine Plugins docker Docker client Volumes Networking Service Discovery Scheduling Coming soon!
  • 23.
    Orchestration Across theApp Lifecycle Docker Machine Docker Swarm Docker Compose 23
  • 24.
    Swarm + Machine+ Compose Docker CLICompose Compose Machine .yml Description up / scale / stop/ kill / rm create / destroy
  • 25.
    Networking / PluginsDemo by David Calavera 25
  • 26.
    Orchestration Status Updateby Jérôme Petazzoni 26
  • 27.
    Keeping up withDocker Machine • Libmachine is happening! (PR#1729) • Disk access is moving to the persist module • Drivers are moving to plugins • See nathanleclaire/moby for a sample app (define your machines with a YAML file) • Overall stability and usability fixes (in particular with VirtualBox experience) 27
  • 28.
    Keeping up withDocker Compose • Parallel operations (so that "docker-compose up" is faster) • Better integration with Swarm • Windows support • Better "extends" mechanism • Hack ideas: issues #1510 #1953 28
  • 29.
    Keeping up withDocker Swarm • Better integration with Engine (PR#16229) (easier discovery → easier cluster deployment) • New discovery mechanism (peer-to-peer, based on Serf) 29
  • 30.
    Getting involved • Submithack ideas or reach out to people who have already submitted their ideas to find team mates & form a team • Attend local editions or participate remotely • Join the conversation on twitter #dockerhackday
  • 31.
    Submission process • Step1: Go to github.com/docker/global-hack-day-3/ • Step 2: Fork the repository, and create a subdirectory titled with the name of your team. • Step 3: Start hacking on the best Docker project you can think of for a chance to win the Docker Global hack Day #3! • Step 4: Once your hack is ready, submit a pull request to this repository before 9am PDT on Monday, September 21st. All files related to your hack should live inside your team's subdirectory. • Step 5: Once you've submitted your Pull Request, go ahead and submit additional infos about your hackday project via the form on Docker.com/community/hackathon
  • 32.
  • 34.
  • 35.