View More
View Less
System Message
An unknown error has occurred and your request could not be completed. Please contact support.
Wait Listed
Personal Calendar
Conference Event
There aren't any available sessions at this time.
Conflict Found
This session is already scheduled at another time. Would you like to...
Please enter a maximum of {0} characters.
{0} remaining of {1} character maximum.
Please enter a maximum of {0} words.
{0} remaining of {1} word maximum.
must be 50 characters or less.
must be 40 characters or less.
Session Summary
We were unable to load the map image.
This has not yet been assigned to a map.
Search Catalog
Replies ()
New Post
Microblog Thread
Post Reply
Your session timed out.
This web page is not optimized for viewing on a mobile device. Visit this site in a desktop browser to access the full set of features.
Uppercase Letter
Lowercase Letter
Uppercase or Lowercase Letter
Special Character
Password length of
or more and have
of the following:
Password 2 does not match password.
DockerCon 2017
Add to My Interests
Remove from My Interests

106041 - Creating Effective Images

Session Speakers
Session Description

Sick of getting paged at 2am and wondering "where did all my disk space go?" This has actually happened to me, and you can learn from my mistakes! New Docker users often start with a stock image in order to get up and running quickly, but that isn't always the right answer. Creating efficient images is overlooked, but important. Beyond saving resources, using minimal images also delivers important security benefits: include only what you need, and not a whole runtime that might have security vulnerabilities. In this session, I'll talk about how to create effective images, and lessons I've learned from running containers in production at a number of startups. I'll also cover topics like "how do layers work?", and some things you should think about when creating your images, such as; choosing or creating the right base image; ordering your statements correctly for caching; using RUN statements conservatively; and cleaning up as you install dependencies. I'll also address best practices; both at a high level (like using dual container builds - one to build an artifact, and one to build from base); and some language-specific best practices, for example, tips and tricks for creating containers for Node.js vs Go To illustrate these points, we'll cover: * How layers work? * Choosing a base image vs. creating your own with scratch. * The basics for building minimal images: ordering statements correctly for caching awesomeness, using RUN conservatively, clean up as you go. * High level best practices for Linux containers (in general, and some language specific examples). * Let's talk about Windows! High level best practices for Windows container images. * Good vs. not so good Dockerfile examples * Docker Image Scanning * Looking forward to the future for even more optimization: Unikernels for Docker, Nix.

Additional Information
Using Docker
40 minutes
Session Schedule
    Similar Sessions
    Do Not Sell My Personal Information
    First name
    Last name
    Email address