DockerCon 2019 took place in San Francisco, from April 29th to May 2nd.
Open Source @ Dockercon Summit took place Thursday, May 2nd.
Dockercon 2019 was a success with 5000+ participants. We are planning a recap Meetup to highlight overall announcements, new features & news from the event:,
- new CLI plugins announcement (docker app, docker buildx, docker pipeline etc);
- features of Docker Enterprise 3.0 ( assemble, template etc)
- takeaways; useful links, demos, tips and tricks and of course all videos from all the sessions
- cool stuff from the Open summit, like the powerful buildkit
- Demo: Multi-arch Docker Builds
Under this Meetup, we'll discuss news / new feature announcements during Dockercon and their implications for the ecosystem and end user. In addition to the DockerCon recap, we'll have the usual opportunities for networking and Q&A. We will look to answer any questions you have about Dockercon at this meetup.
We invite all of our members to come -- whether you're a beginner or an experienced user of containers. Don't forget to RSVP for this event so we can make sure we have plenty of place for everyone. Save the date for Docker Timisoara Meetup on May 23th @ CoWork The Garden!
3. Agenda
[0.] Short Facts
1. DockerCon Announcements and New CLI plugins
2. Demo: Multi-arch Docker Builds
3. Cool stuff from the Open summit
4. Slides, Tutorials, Tips and Tricks
5. Contributing to Open Source
6. Docker Captains
7. Docker Community Leaders
8. Plans for next meetups; Don't forget CodeCamp Romania this Saturday
4. Dockercon19 SFO & Open Source Summit
Recap & Announcements
presentation delivered by
Adina-Valentina Radulescu
@rav121rav
5. Container adoption and workload increasing
of global organizations will
be running containers in production
Source: Gartner
50%
By 2020, more
than
6. Docker by the numbers
44.1M
Unique
Docker Engines
1.7M
Monthly
Active Desktop Developers
Container
Image Pulls
105.2B
Apps
5.6M
10. Docker Desktop Enterprise
• Single click to a native local Docker and certified
Kubernetes environment for fast onboarding
• Enable developer choice without compromising
security
○ Choice of IDE
○ Choice of programming language
○ Choice of app framework
○ Choice of OS
• App Designer & Templates: GUI to automatically
generate Dockerfiles and Docker Compose files of
IT ops-provided pre-configured app stacks to
compress on-boarding safely
• Pipeline: Automatically generate pre-configured
pipelines for any CI backend to jumpstart outer
loop
• Version Packs: Match desktop and server
environments to avoid “works on my machine”
friction
• Centralized Management: Maintain security and
compliance while enabling developer productivity
through centralized deployment, configuration,
11. First and only commercial Kubernetes support
for both desktops and servers
● Docker Desktop Enterprise and UCP
● Synchronized via Version Packs
● Certified K8s, commercially supported
The only product with support for Docker
Compose, Helm, Kubernetes yaml
Enhanced security and access controls
● Certificate-based authentication in addition
to LDAP/AD and SAML 2.0
● Automated compliance assessment and
reporting
Complete Day 1 and Day 2 ops for Kubernetes
● Installation, configuration, and hardened
security
● Upgrades, backup, and restore
12. Docker Applications
App description
Containers
Environment parameters
1
2
3
port:8080
loglevel:debug
cachesize:700M
● “Container of containers” defines an
application that can be comprised of multiple
services
● Removes the need to manage “mountains of
YAML” and eliminates configuration overhead
Supports Docker Compose, Kubernetes
YAML, Helm Charts and more
● Implements the new open standard, CNAB,
announced by Docker and Microsoft
● Parameterized fields allow for flexible
deployment across different environments,
delivering on “code once, deploy anywhere”
13. Docker Enterprise-as-a-
Service
Managed Service
On-prem | Private cloud | Public cloud
• Full-managed enterprise container platform
service
○ CI/CD infrastructure
○ Docker Trusted Registry (DTR)
○ Universal Control Plane (UCP), including
orchestration
○ Docker Engine worker nodes
• Choice
○ Available on-prem (initially OpenStack)
or public cloud (initially AWS and Azure)
• On-demand
○ Provisioning and scaling
○ Usage-based pricing
○ Monthly billing
• Availability
○ First partner: CapGemini
○ In private tech previews with customers
today
○ Public beta available later in Q2 2019
14. Docker Enterprise Customer Value Proposition
Intrinsic
Security
90% reduction
in time-to-remediate
Freedom
of Choice
Any
application, OS, infrastructure
High-Velocity
Innovation
13x increase
in app update frequency
… with 40% less infrastructure
15. Docker CLI Plugins: General Session Demos
Plugins Delivery Vehicle Availability
app 19.03-ce, 19.03-ee, Desktop CE,
Desktop EE
Available now via Engine Community and Desktop
Community (Mac | Windows)
Docker Enterprise 3.0
assemble 19.03-ee, Desktop Enterprise Available with Docker Enterprise 3.0
template 19.03-ee, Desktop Enterprise Available with Docker Enterprise 3.0
cluster 19.03-ee, Desktop Enterprise Available with Docker Enterprise 3.0
gmsa 19.03-ee, Desktop Enterprise Available with Docker Enterprise 3.0
registry 19.03-ee, Desktop Enterprise Available with Docker Enterprise 3.0
buildx desktop-edge Available in Desktop CE Edge (Mac | Windows), download
the plugin
jump beta.docker.com beta.docker.com
pipeline beta.docker.com beta.docker.com
19. More Resources
● buildx: https://github.com/docker/buildx
● Videos:
○ Keynote about new Arm collaboration: https://www.youtube.com/watch?v=H3qcJgSJA6U&t=1h33m17s
○ Ecosystem Talk for a deep-dive on tech (demo starts at 10min): https://www.docker.com/dockercon/2019-
videos?watch=developing-and-deploying-containers-for-arm-using-docker-des
○ Multi-arch demo focus on A1: https://digilution.io/posts/multiarch-docker-builds/
● Blogs:
○ Getting started with Docker on Arm: https://community.arm.com/developer/tools-software/tools/b/tools-
software-ides-blog/posts/getting-started-with-docker-on-arm
○ Multi-arch blog focused on A1: https://digilution.io/posts/multiarch-docker-builds/
○ BuildX: http://collabnix.com/building-arm-based-docker-images-on-docker-desktop-made-possible-using-buildx/
○ Jetson Nano: https://blog.hypriot.com/post/nvidia-jetson-nano-build-kernel-docker-optimized/
23. Containerd and BuildKit
• We watched first half of the video.
• How to enable BuildKit power on docker build
command?
• a lot of docker buildx today
• https://www.docker.com/dockercon/2019-videos?watch=open-source-summit-build-kit
29. Get Hands On
Play With Docker Play With Kubernetes
Free self-paced hands on labs to
help you level up your docker
knowledge.
https://dockr.ly/pwd
Learn the basic concepts of
Kubernetes all within your browser
https://dockr.ly/pwk
30. @mikesir87
Clean up as you go!
● Don’t wait until the end of the Dockerfile to “clean” up
● Chain RUN commands together to clean things as you go
FROM ubuntu
RUN apt-get update
RUN apt-get install -y python python-pip
RUN pip install awscli
RUN apt-get autoremove --purge -y python-pip
FROM ubuntu
RUN apt-get update &&
apt-get install -y python python-pip &&
pip install awscli &&
apt-get autoremove --purge -y python-pip &&
rm -rf /var/lib/apt/lists/*
Net change of image size from
512MB to 183MB (64% reduction)
31. @mikesir87
Keep images tight and focused
• Only install the deps/tools/packages that are necessary
• Use multi-stage builds to separate build-time and run-time
dependencies
FROM node AS build
WORKDIR /usr/src/app
COPY package.json yarn.lock .
RUN yarn install
COPY public ./public
COPY src ./src
RUN yarn build
FROM nginx:alpine
COPY nginx.conf /etc/nginx/nginx.conf
COPY --from=build /usr/src/app/build /usr/share/nginx/html
Sample multi-stage build for a React app
32. Slides etc..
• All sessions videos: https://www.docker.com/dockercon/2019-videos
• https://www.docker.com/dockercon/2019-videos?watch=open-source-summit-
build-kit
• Enable BuildKit: export DOCKER_BUILDKIT=1
• A lot of docker presentations:
https://www.slideshare.net/Docker/presentations
33. Slides etc... for windows
Elton Stoneman blogging https://blog.sixeyed.com/
Twitter: @EltonStoneman
34. Slides etc … for Java developers
Docker Containers & Java: What I Wish I Had Been Told
• video: https://www.docker.com/dockercon/2019-videos?watch=docker-containers-java-what-i-wish-i-had-been-told ;
• git repo https://github.com/aboullaite/java-docker
• Aot, graal, cdc, mode,sb just switch the git repo branch
35. Slides etc … for Java developers
Docker Containers & Java: What I Wish I Had Been Told
• video: https://www.docker.com/dockercon/2019-videos?watch=docker-containers-java-what-i-wish-i-had-been-told ;
• git repo https://github.com/aboullaite/java-docker
• Aot, graal, cdc, mode,sb just switch the git repo branch
36. Slides etc … for
nodejs and Laravel
developers
• DockerCon "Docker for Node.js" examples
https://github.com/BretFisher/dockercon19
● Node.js Docker Good Defaults
● PHP/Laravel Docker Good Defaults
37. Top Rated Sessions: https://www.docker.com/dockercon/2019-videos
Node.js Rocks in Docker for Dev and Ops Bret Fisher, Docker Mastery
eBPF Superpowers Liz Rice, Aqua Security
Just what is a "service mesh", and if I get one will it make everything OK? Elton Stoneman, Docker
How Docker Simplifies Kubernetes for the Masses David Yu + Jean Rouge, Docker
Unleashing Chaos and Breaking Containers Ana Medina, Gremlin
Why Making Your Containers Run is Only 40% of the Solution Tommy Hamilton, Quicken Loans
Tips and Tricks of the Docker Captains Brandon Mitchell, BoxBoat
Containers for Beginners Michael Irwin, Virginia Tech
Message-Based Microservices Architectures - Benefits and Practical Matters Michele Bustamante, Soliance
Write Maintainable Integration Tests with Docker Gianluca Arbezzano, InfluxData
45. Community Leader of the Year Awards
Palma,
Mexico City
London Cape TownOttawaJakarta
Dominique
Top
Gloria
Gonzalez
Imre
Nagi
Dave
Henderson
Taygan
Pillay
46. 8. Plans for next meetups
● CodeCamp Romania on Saturday 25 May
● Workshops
● Hacking
● Socializing
● CFP (proposal)
47. Multumesc!
Thank you!
@rav121rav
adina.rav121@gmail.com
slack @rav121 on Docker Community Channel
Join Docker Community: http://dockr.ly/slack
Join Timisoara and Arad Chapters so you’ll stay updated with latest near events:
https://events.docker.com/timisoara/
https://events.docker.com/timisoara/