{"id":13502,"date":"2016-06-29T12:15:27","date_gmt":"2016-06-29T09:15:27","guid":{"rendered":"https:\/\/www.webcodegeeks.com\/?p=13502"},"modified":"2016-06-21T14:44:40","modified_gmt":"2016-06-21T11:44:40","slug":"dockercon-2016-whats-new-docker-docker-1-12","status":"publish","type":"post","link":"https:\/\/www.webcodegeeks.com\/devops\/dockercon-2016-whats-new-docker-docker-1-12\/","title":{"rendered":"DockerCon 2016: What&#8217;s New in Docker &#8211; Docker 1.12"},"content":{"rendered":"<p>To kick off the first day of <a href=\"http:\/\/2016.dockercon.com\/\">DockerCon<\/a> in Seattle, <a href=\"https:\/\/twitter.com\/mikegoelzer\">Mike Goelzer<\/a> and <a href=\"https:\/\/twitter.com\/aluzzardi\">Andrea Luzzardi<\/a> spoke about what\u2019s new with Docker in 2016. Goelzer is the open source product management lead for Docker\u2019s Core Runtime, and Luzzardi is a Software Engineer at Docker and was part of the original team that built the project. The biggest announcement definitely was the release of Docker 1.12.<br \/>\n&nbsp;<br \/>\n&nbsp;<br \/>\n&nbsp;<br \/>\n&nbsp;<br \/>\n&nbsp;<br \/>\n&nbsp;<br \/>\n<a href=\"http:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2016\/06\/whatsnewindocker.jpg\"><img decoding=\"async\" class=\"aligncenter wp-image-13548 size-large\" src=\"http:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2016\/06\/whatsnewindocker-1024x768.jpg\" alt=\"whatsnewindocker\" width=\"620\" height=\"465\" srcset=\"https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2016\/06\/whatsnewindocker-1024x768.jpg 1024w, https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2016\/06\/whatsnewindocker-300x225.jpg 300w, https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2016\/06\/whatsnewindocker-768x576.jpg 768w\" sizes=\"(max-width: 620px) 100vw, 620px\" \/><\/a><\/p>\n<h2>Docker 1.12: What\u2019s new?<\/h2>\n<p>I took a few notes from my seat in the audience, and the following is a summary of the most interesting takeaways from this release.<\/p>\n<h3>Swarm mode orchestration<\/h3>\n<p>With Docker Swarm, you can create a swarm: a self-organizing and self-healing group of engines. Doing this is very simple:<\/p>\n<pre class=\"brush:php\">docker swarm init<\/pre>\n<h3>Creating and scaling swarms<\/h3>\n<p>You might be familiar with running a single container with <code>docker run<\/code>. You now also can start a replicated, load-balanced process that is distributed on a swarm of engines with Docker service:<\/p>\n<pre class=\"brush:php\">docker service create --name frontend --replicas 5 -p 80:80\/tcp nginx:latest<\/pre>\n<p>You can scale this up to as many instances as you want or basically as many instances as your host server machine is able to cope with.<\/p>\n<pre class=\"brush:php\">docker service scale frontend=100<\/pre>\n<p>If you want to create a typical web application, this is probably going to be a good starting setup for you:<\/p>\n<pre class=\"brush:php\">docker network create -d overlay mynet docker service create --name frontend --replicas 5 -p 80:80\/tcp \\ \u00a0\u00a0\u00a0--network mynet mywebapp docker service create --name redis --network mynet redis:latest<\/pre>\n<h3>HEALTHCHECK<\/h3>\n<p>Swarm mode-enabled engines are self-organizing and self-healing, meaning that they are aware of the application you defined and will continuously check and reconcile the environment when things go awry. For example, if you unplug one of the machines running an NGINX instance, a new container will come up on another node.<\/p>\n<p>You can specify what it means for your container to be \u201chealthy,\u201d then check with <code>HEALTHCHECK<\/code> if your container is healthy. If not, the state of this container will be set to <code>UNHEALTHY<\/code>, and the routing mesh manager will take over to handle this problem for you. You can find out more about <a href=\"https:\/\/github.com\/docker\/docker\/pull\/23218\">the <code>HEALTHCHECK<\/code> feature here<\/a>.<\/p>\n<h3>The Routing Mesh<\/h3>\n<p>The Routing Mesh Manager manages workers. These workers are holding services that can be instantiated by deploying .dab files (more on services and .dab files later). If one of your services goes down, the routing manager will automatically assign it to other worker. By using HEALTHCHECKs and the Routing Mesh managers, you can set up a self-organizing and self-healing container architecture.<\/p>\n<h3>Security<\/h3>\n<p>According to Goelzer, one of Docker\u2019s biggest ambitions is to provide security out of the box. A core principle for Docker 1.12 is creating a zero-configuration, secure-by-default, out-of-the-box experience.<\/p>\n<p>One of the biggest barriers of adoption of TLS has always been how hard it was to create, configure, and then maintain the Public Key Infrastructure (PKI). In Docker 1.12, everything gets set up and configured. Docker even automates certificate rotation for you now.<\/p>\n<p><a href=\"http:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2016\/06\/docker_security_TLS.png\"><img decoding=\"async\" class=\"aligncenter size-full wp-image-13549\" src=\"http:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2016\/06\/docker_security_TLS.png\" alt=\"docker_security_TLS\" width=\"652\" height=\"390\" srcset=\"https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2016\/06\/docker_security_TLS.png 652w, https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2016\/06\/docker_security_TLS-300x179.png 300w\" sizes=\"(max-width: 652px) 100vw, 652px\" \/><\/a><\/p>\n<h3>Services<\/h3>\n<p>You now can have three different instances of Redis that replicate data amongst each other. Right now, Docker only supports container tasks for services, but they\u2019re thinking about supporting unikernel tasks or any other type of long-running process in the future.<\/p>\n<p><a href=\"http:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2016\/06\/services.jpg\"><img decoding=\"async\" class=\"aligncenter wp-image-13550 size-large\" src=\"http:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2016\/06\/services-1024x768.jpg\" alt=\"services\" width=\"620\" height=\"465\" srcset=\"https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2016\/06\/services-1024x768.jpg 1024w, https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2016\/06\/services-300x225.jpg 300w, https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2016\/06\/services-768x576.jpg 768w\" sizes=\"(max-width: 620px) 100vw, 620px\" \/><\/a><\/p>\n<h3>Stacks and .dab files<\/h3>\n<p>Services are grouped into <strong><a href=\"https:\/\/github.com\/docker\/docker\/pull\/23522\">stacks<\/a><\/strong>. A stack holds services, which hold tasks, which run inside containers. You can group several services together. Let\u2019s say you run a <strong>Frontend<\/strong> service, a <strong>Redis<\/strong> service, and a <strong>Report<\/strong> service; you can now bundle all of them together into a stack (which represents your entire application).<\/p>\n<p>Docker released a new file format for this: the \u2018.dab\u2019 file (Distributed Application Bundle). These files are multi-service images that instantiate stacks. You deploy .dab files to bring a stack into existence. Goelzer specifically mentioned that this is very much a work-in-progress, and it\u2019s still in experimental mode. They want to have GA by mid-to-late July.<\/p>\n<p><a href=\"http:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2016\/06\/dab-files.jpg\"><img decoding=\"async\" class=\"aligncenter wp-image-13551 size-large\" src=\"http:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2016\/06\/dab-files-1024x768.jpg\" alt=\"dab-files\" width=\"620\" height=\"465\" srcset=\"https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2016\/06\/dab-files-1024x768.jpg 1024w, https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2016\/06\/dab-files-300x225.jpg 300w, https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2016\/06\/dab-files-768x576.jpg 768w\" sizes=\"(max-width: 620px) 100vw, 620px\" \/><\/a><\/p>\n<h3>Global services<\/h3>\n<p>You now can distribute one copy of a container to every node of a cluster. You can do this by running <code>--mode=global<\/code>.<\/p>\n<h3>Constraints<\/h3>\n<p>With constraints, you can run certain containers only on certain nodes. You can do this by setting up engine labels, which is not new to Docker but they\u2019re using it now to set up constraints. You can define labels with:<\/p>\n<pre class=\"brush:php\">--label com.example.storage=\u201cssd\u201d<\/pre>\n<p>Constraints are very powerful. For example, think about scheduling a workload that will only run on machines with a SSD drive.<\/p>\n<pre class=\"brush:php\">--constraint com.example.storage=\u201cssd\u201d<\/pre>\n<h2>More about Docker 1.12<\/h2>\n<p>To learn more, check out the <a href=\"https:\/\/github.com\/docker\/docker\/releases\">full release notes here<\/a> and read Docker\u2019s <a href=\"https:\/\/blog.docker.com\/2016\/06\/docker-1-12-built-in-orchestration\/\">official blog post about Docker 1.12<\/a>.<\/p>\n<p>There\u2019s a lot to be excited about, and we\u2019ll definitely be using some of these new features here at <a href=\"https:\/\/codeship.com?utm_source=CodeshipBlog\">Codeship<\/a> to improve our CI Platform for Docker, <a href=\"https:\/\/codeship.com\/docker\">Codeship Jet<\/a>.<\/p>\n<p><strong>Are you currently at DockerCon?<\/strong> I\u2019d love to meet you in person. Come join us at our booth, S13, and get a shirt, stickers, and a free demo of Codeship Jet!<\/p>\n<p>Tomorrow, I\u2019ll be live-tweeting and posting a summary of <a href=\"https:\/\/twitter.com\/micheletitolo\">Michele Titolo<\/a>\u2018s talk, \u201c<a href=\"http:\/\/dockercon2016.sched.org\/event\/70Ny\/making-friendly-microservices?iframe=no&amp;w=&amp;sidebar=no&amp;bg=no\">Making Friendly Microservices<\/a>.\u201d<\/p>\n<div class=\"attribution\">\n<table>\n<tbody>\n<tr>\n<td><span class=\"reference\">Reference: <\/span><\/td>\n<td><a href=\"https:\/\/blog.codeship.com\/whats-new-docker\/\">DockerCon 2016: What&#8217;s New in Docker &#8211; Docker 1.12<\/a> from our <a href=\"http:\/\/www.webcodegeeks.com\/join-us\/wcg\/\">WCG partner<\/a> Manuel Weiss at the <a href=\"http:\/\/blog.codeship.com\/\">Codeship Blog<\/a> blog.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>To kick off the first day of DockerCon in Seattle, Mike Goelzer and Andrea Luzzardi spoke about what\u2019s new with Docker in 2016. Goelzer is the open source product management lead for Docker\u2019s Core Runtime, and Luzzardi is a Software Engineer at Docker and was part of the original team that built the project. The &hellip;<\/p>\n","protected":false},"author":171,"featured_media":10356,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[17],"tags":[217],"class_list":["post-13502","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-devops","tag-docker"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>DockerCon 2016: What&#039;s New in Docker - Docker 1.12 - Web Code Geeks - 2026<\/title>\n<meta name=\"description\" content=\"To kick off the first day of DockerCon in Seattle, Mike Goelzer and Andrea Luzzardi spoke about what\u2019s new with Docker in 2016. Goelzer is the open source\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.webcodegeeks.com\/devops\/dockercon-2016-whats-new-docker-docker-1-12\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"DockerCon 2016: What&#039;s New in Docker - Docker 1.12 - Web Code Geeks - 2026\" \/>\n<meta property=\"og:description\" content=\"To kick off the first day of DockerCon in Seattle, Mike Goelzer and Andrea Luzzardi spoke about what\u2019s new with Docker in 2016. Goelzer is the open source\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.webcodegeeks.com\/devops\/dockercon-2016-whats-new-docker-docker-1-12\/\" \/>\n<meta property=\"og:site_name\" content=\"Web Code Geeks\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/webcodegeeks\" \/>\n<meta property=\"article:published_time\" content=\"2016-06-29T09:15:27+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2016\/01\/docker-logo.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"150\" \/>\n\t<meta property=\"og:image:height\" content=\"150\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Manuel Weiss\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@webcodegeeks\" \/>\n<meta name=\"twitter:site\" content=\"@webcodegeeks\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Manuel Weiss\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.webcodegeeks.com\/devops\/dockercon-2016-whats-new-docker-docker-1-12\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.webcodegeeks.com\/devops\/dockercon-2016-whats-new-docker-docker-1-12\/\"},\"author\":{\"name\":\"Manuel Weiss\",\"@id\":\"https:\/\/www.webcodegeeks.com\/#\/schema\/person\/1a38abc64009c2506f0d881b0889be8e\"},\"headline\":\"DockerCon 2016: What&#8217;s New in Docker &#8211; Docker 1.12\",\"datePublished\":\"2016-06-29T09:15:27+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.webcodegeeks.com\/devops\/dockercon-2016-whats-new-docker-docker-1-12\/\"},\"wordCount\":820,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.webcodegeeks.com\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.webcodegeeks.com\/devops\/dockercon-2016-whats-new-docker-docker-1-12\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2016\/01\/docker-logo.jpg\",\"keywords\":[\"Docker\"],\"articleSection\":[\"DevOps\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.webcodegeeks.com\/devops\/dockercon-2016-whats-new-docker-docker-1-12\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.webcodegeeks.com\/devops\/dockercon-2016-whats-new-docker-docker-1-12\/\",\"url\":\"https:\/\/www.webcodegeeks.com\/devops\/dockercon-2016-whats-new-docker-docker-1-12\/\",\"name\":\"DockerCon 2016: What's New in Docker - Docker 1.12 - Web Code Geeks - 2026\",\"isPartOf\":{\"@id\":\"https:\/\/www.webcodegeeks.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.webcodegeeks.com\/devops\/dockercon-2016-whats-new-docker-docker-1-12\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.webcodegeeks.com\/devops\/dockercon-2016-whats-new-docker-docker-1-12\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2016\/01\/docker-logo.jpg\",\"datePublished\":\"2016-06-29T09:15:27+00:00\",\"description\":\"To kick off the first day of DockerCon in Seattle, Mike Goelzer and Andrea Luzzardi spoke about what\u2019s new with Docker in 2016. Goelzer is the open source\",\"breadcrumb\":{\"@id\":\"https:\/\/www.webcodegeeks.com\/devops\/dockercon-2016-whats-new-docker-docker-1-12\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.webcodegeeks.com\/devops\/dockercon-2016-whats-new-docker-docker-1-12\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.webcodegeeks.com\/devops\/dockercon-2016-whats-new-docker-docker-1-12\/#primaryimage\",\"url\":\"https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2016\/01\/docker-logo.jpg\",\"contentUrl\":\"https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2016\/01\/docker-logo.jpg\",\"width\":150,\"height\":150},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.webcodegeeks.com\/devops\/dockercon-2016-whats-new-docker-docker-1-12\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.webcodegeeks.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"DevOps\",\"item\":\"https:\/\/www.webcodegeeks.com\/category\/devops\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"DockerCon 2016: What&#8217;s New in Docker &#8211; Docker 1.12\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.webcodegeeks.com\/#website\",\"url\":\"https:\/\/www.webcodegeeks.com\/\",\"name\":\"Web Code Geeks\",\"description\":\"Web Developers Resource Center\",\"publisher\":{\"@id\":\"https:\/\/www.webcodegeeks.com\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.webcodegeeks.com\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.webcodegeeks.com\/#organization\",\"name\":\"Exelixis Media P.C.\",\"url\":\"https:\/\/www.webcodegeeks.com\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.webcodegeeks.com\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2022\/06\/exelixis-logo.png\",\"contentUrl\":\"https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2022\/06\/exelixis-logo.png\",\"width\":864,\"height\":246,\"caption\":\"Exelixis Media P.C.\"},\"image\":{\"@id\":\"https:\/\/www.webcodegeeks.com\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/webcodegeeks\",\"https:\/\/x.com\/webcodegeeks\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.webcodegeeks.com\/#\/schema\/person\/1a38abc64009c2506f0d881b0889be8e\",\"name\":\"Manuel Weiss\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.webcodegeeks.com\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/9fc1f99fc68db559ce2b6558b690931cedb01ef2dd18ebffde6b6b6aa4f4cefa?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/9fc1f99fc68db559ce2b6558b690931cedb01ef2dd18ebffde6b6b6aa4f4cefa?s=96&d=mm&r=g\",\"caption\":\"Manuel Weiss\"},\"description\":\"Proud Co-Founder of Codeship. He likes Liverpool FC, learning instruments and reading philosophy and history books.\",\"url\":\"https:\/\/www.webcodegeeks.com\/author\/manuel-weiss\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"DockerCon 2016: What's New in Docker - Docker 1.12 - Web Code Geeks - 2026","description":"To kick off the first day of DockerCon in Seattle, Mike Goelzer and Andrea Luzzardi spoke about what\u2019s new with Docker in 2016. Goelzer is the open source","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.webcodegeeks.com\/devops\/dockercon-2016-whats-new-docker-docker-1-12\/","og_locale":"en_US","og_type":"article","og_title":"DockerCon 2016: What's New in Docker - Docker 1.12 - Web Code Geeks - 2026","og_description":"To kick off the first day of DockerCon in Seattle, Mike Goelzer and Andrea Luzzardi spoke about what\u2019s new with Docker in 2016. Goelzer is the open source","og_url":"https:\/\/www.webcodegeeks.com\/devops\/dockercon-2016-whats-new-docker-docker-1-12\/","og_site_name":"Web Code Geeks","article_publisher":"https:\/\/www.facebook.com\/webcodegeeks","article_published_time":"2016-06-29T09:15:27+00:00","og_image":[{"width":150,"height":150,"url":"https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2016\/01\/docker-logo.jpg","type":"image\/jpeg"}],"author":"Manuel Weiss","twitter_card":"summary_large_image","twitter_creator":"@webcodegeeks","twitter_site":"@webcodegeeks","twitter_misc":{"Written by":"Manuel Weiss","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.webcodegeeks.com\/devops\/dockercon-2016-whats-new-docker-docker-1-12\/#article","isPartOf":{"@id":"https:\/\/www.webcodegeeks.com\/devops\/dockercon-2016-whats-new-docker-docker-1-12\/"},"author":{"name":"Manuel Weiss","@id":"https:\/\/www.webcodegeeks.com\/#\/schema\/person\/1a38abc64009c2506f0d881b0889be8e"},"headline":"DockerCon 2016: What&#8217;s New in Docker &#8211; Docker 1.12","datePublished":"2016-06-29T09:15:27+00:00","mainEntityOfPage":{"@id":"https:\/\/www.webcodegeeks.com\/devops\/dockercon-2016-whats-new-docker-docker-1-12\/"},"wordCount":820,"commentCount":0,"publisher":{"@id":"https:\/\/www.webcodegeeks.com\/#organization"},"image":{"@id":"https:\/\/www.webcodegeeks.com\/devops\/dockercon-2016-whats-new-docker-docker-1-12\/#primaryimage"},"thumbnailUrl":"https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2016\/01\/docker-logo.jpg","keywords":["Docker"],"articleSection":["DevOps"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.webcodegeeks.com\/devops\/dockercon-2016-whats-new-docker-docker-1-12\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.webcodegeeks.com\/devops\/dockercon-2016-whats-new-docker-docker-1-12\/","url":"https:\/\/www.webcodegeeks.com\/devops\/dockercon-2016-whats-new-docker-docker-1-12\/","name":"DockerCon 2016: What's New in Docker - Docker 1.12 - Web Code Geeks - 2026","isPartOf":{"@id":"https:\/\/www.webcodegeeks.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.webcodegeeks.com\/devops\/dockercon-2016-whats-new-docker-docker-1-12\/#primaryimage"},"image":{"@id":"https:\/\/www.webcodegeeks.com\/devops\/dockercon-2016-whats-new-docker-docker-1-12\/#primaryimage"},"thumbnailUrl":"https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2016\/01\/docker-logo.jpg","datePublished":"2016-06-29T09:15:27+00:00","description":"To kick off the first day of DockerCon in Seattle, Mike Goelzer and Andrea Luzzardi spoke about what\u2019s new with Docker in 2016. Goelzer is the open source","breadcrumb":{"@id":"https:\/\/www.webcodegeeks.com\/devops\/dockercon-2016-whats-new-docker-docker-1-12\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.webcodegeeks.com\/devops\/dockercon-2016-whats-new-docker-docker-1-12\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.webcodegeeks.com\/devops\/dockercon-2016-whats-new-docker-docker-1-12\/#primaryimage","url":"https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2016\/01\/docker-logo.jpg","contentUrl":"https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2016\/01\/docker-logo.jpg","width":150,"height":150},{"@type":"BreadcrumbList","@id":"https:\/\/www.webcodegeeks.com\/devops\/dockercon-2016-whats-new-docker-docker-1-12\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.webcodegeeks.com\/"},{"@type":"ListItem","position":2,"name":"DevOps","item":"https:\/\/www.webcodegeeks.com\/category\/devops\/"},{"@type":"ListItem","position":3,"name":"DockerCon 2016: What&#8217;s New in Docker &#8211; Docker 1.12"}]},{"@type":"WebSite","@id":"https:\/\/www.webcodegeeks.com\/#website","url":"https:\/\/www.webcodegeeks.com\/","name":"Web Code Geeks","description":"Web Developers Resource Center","publisher":{"@id":"https:\/\/www.webcodegeeks.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.webcodegeeks.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.webcodegeeks.com\/#organization","name":"Exelixis Media P.C.","url":"https:\/\/www.webcodegeeks.com\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.webcodegeeks.com\/#\/schema\/logo\/image\/","url":"https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2022\/06\/exelixis-logo.png","contentUrl":"https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2022\/06\/exelixis-logo.png","width":864,"height":246,"caption":"Exelixis Media P.C."},"image":{"@id":"https:\/\/www.webcodegeeks.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/webcodegeeks","https:\/\/x.com\/webcodegeeks"]},{"@type":"Person","@id":"https:\/\/www.webcodegeeks.com\/#\/schema\/person\/1a38abc64009c2506f0d881b0889be8e","name":"Manuel Weiss","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.webcodegeeks.com\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/9fc1f99fc68db559ce2b6558b690931cedb01ef2dd18ebffde6b6b6aa4f4cefa?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/9fc1f99fc68db559ce2b6558b690931cedb01ef2dd18ebffde6b6b6aa4f4cefa?s=96&d=mm&r=g","caption":"Manuel Weiss"},"description":"Proud Co-Founder of Codeship. He likes Liverpool FC, learning instruments and reading philosophy and history books.","url":"https:\/\/www.webcodegeeks.com\/author\/manuel-weiss\/"}]}},"_links":{"self":[{"href":"https:\/\/www.webcodegeeks.com\/wp-json\/wp\/v2\/posts\/13502","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.webcodegeeks.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.webcodegeeks.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.webcodegeeks.com\/wp-json\/wp\/v2\/users\/171"}],"replies":[{"embeddable":true,"href":"https:\/\/www.webcodegeeks.com\/wp-json\/wp\/v2\/comments?post=13502"}],"version-history":[{"count":0,"href":"https:\/\/www.webcodegeeks.com\/wp-json\/wp\/v2\/posts\/13502\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.webcodegeeks.com\/wp-json\/wp\/v2\/media\/10356"}],"wp:attachment":[{"href":"https:\/\/www.webcodegeeks.com\/wp-json\/wp\/v2\/media?parent=13502"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.webcodegeeks.com\/wp-json\/wp\/v2\/categories?post=13502"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.webcodegeeks.com\/wp-json\/wp\/v2\/tags?post=13502"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}