{"id":14909,"date":"2016-10-13T12:15:05","date_gmt":"2016-10-13T09:15:05","guid":{"rendered":"https:\/\/www.webcodegeeks.com\/?p=14909"},"modified":"2016-10-12T14:01:12","modified_gmt":"2016-10-12T11:01:12","slug":"five-ways-docker-can-reduce-startup-time-new-hires","status":"publish","type":"post","link":"https:\/\/www.webcodegeeks.com\/devops\/five-ways-docker-can-reduce-startup-time-new-hires\/","title":{"rendered":"Five Ways Docker Can Reduce Startup Time for New Hires"},"content":{"rendered":"<p>Regardless of an organization\u2019s size, onboarding new developers and getting them up to speed as quickly as possible remains a distinct challenge. The longer the time between being hired and being productive, the more expensive the investment \u2014 especially when talking about more experienced developers.<\/p>\n<p>Given that, two key considerations for any efficient onboarding workflow are:<\/p>\n<ul>\n<li>How can time from sit-down to project familiarity be reduced to as small a window as possible?<\/li>\n<li>How can new hires get up and running as quickly as possible?<\/li>\n<\/ul>\n<p>Actually, a better question is: How can we get developers, regardless of whether they\u2019re new to our organization or simply new to a project, up and running as quickly as possible?<\/p>\n<blockquote><p>For the purposes of this discussion, productivity can mean adding new features, fixing existing bugs, and\/or being able to investigate the codebase using a working development installation.<\/p><\/blockquote>\n<p>A number of technologies are available to answer these questions. These include shell scripts, <a href=\"https:\/\/en.wikipedia.org\/wiki\/LAMP_(software_bundle)\">WAMP, MAMP, and LAMP stacks<\/a>, and virtual machines. But the one I find most compelling is <a href=\"https:\/\/www.docker.com\">Docker<\/a>. Docker\u2019s the new kid on the proverbial block in <a href=\"https:\/\/codeship.com\/continuous-integration-essentials\">the DevOps space<\/a>; the latest in a long line of technologies aimed at making the transition from development to production environment as smooth as possible.<\/p>\n<p>Of course, it\u2019s easy to let yourself drink the KoolAid<sup>tm<\/sup> of new technology and believe that it can do anything and everything. However, Docker really is particularly adept at reducing the onboarding time for new developers. Today, I\u2019m going to look at five specific ways Docker can significantly reduce the startup time for new hires.<\/p>\n<h2>1 \u2013 Docker Is The Only Dependency<\/h2>\n<p>If you\u2019ve been developing for at least five years, you\u2019ll be familiar with a range of different approaches for building development environments.<\/p>\n<p>Originally, there were (L,W,M)AMP stacks, where the developer\u2019s machine contained all of the various development libraries and packages. While great for a few projects, this approach often leads to machines quickly becoming messy. This is especially the case when different projects require different versions of the same library, such as <em>encryption<\/em>, <em>string<\/em>, <em>math<\/em>, or <em>SSL<\/em>.<\/p>\n<p>Development machines can also quickly become filled with numerous packages, sporting a range of configurations. As a result, it becomes almost impossible to recreate that environment in a production setting \u2014 or anywhere else for that matter. This in turn results in the infamous \u201cworks for me\u201d response.<\/p>\n<p>With Docker, this isn\u2019t a concern anymore. Docker, <a href=\"https:\/\/hub.docker.com\">via DockerHub<\/a>, has a range of preconfigured Docker containers for all kinds of development needs. If you\u2019re creating a Ruby app, grab a Ruby container. If you\u2019re creating a Go or a Python app, grab a Go or a Python container. Moving further up the food chain, if you\u2019re creating an app based on a framework, <a href=\"http:\/\/www.masterzendframework.com\/zend-expressive-introduction\/\">such as Zend Expressive for PHP<\/a>, then grab a container configuration for that.<\/p>\n<p>If your app requires more than that, determine what it needs and create a custom container setup that combines the necessary containers to support it. If you build a custom container, one not available already, consider uploading it so that others can use it as well.<\/p>\n<p>Regardless of what you need, development machines no longer need to be polluted with all manner and type of library, package, or competing configuration. They can be left free and clean, avoiding dependency hell. And developers can no longer abdicate responsibility by saying \u201cit works for me.\u201d<\/p>\n<h2>2 \u2013 It\u2019s Easy To Know How The Environment Is Built<\/h2>\n<p>Let\u2019s consider how Docker can simplify configuration requirements. For a long time after installing everything locally fell out of vogue, virtual machines became the go-to tool to create development environments. And for good reason. With virtual machines based on tools such as <a href=\"https:\/\/www.virtualbox.org\">VirtualBox<\/a>, <a href=\"http:\/\/parallels.com\">Parallels<\/a>, and <a href=\"http:\/\/www.vmware.com\">VMWare<\/a>, development environments could be built to work exactly like testing, staging, production, or any other environment. Within them, you could virtually mimic the environment where the code would be hosted.<\/p>\n<p>However, a virtual machine wasn\u2019t that different from a machine running on bare metal hardware. All the software, libraries, extensions, and dependencies still had to be installed and configured. Given that, the time to build them was still no small task, and replicating them for different projects was also non-trivial. As a result, tools such as <a href=\"https:\/\/www.vagrantup.com\">Vagrant<\/a>, <a href=\"https:\/\/puppet.com\">Puppet<\/a>, <a href=\"https:\/\/www.chef.io\/chef\/\">Chef<\/a>, <a href=\"https:\/\/saltstack.com\">Salt<\/a>, and <a href=\"https:\/\/www.ansible.com\">Ansible<\/a> arose to answer the need. These tools could create replicable and versionable provisioning scripts, scripts which could create immutable virtual machines, regardless of environment.<\/p>\n<p>But regardless of the provisioning tool chosen, the learning curve wasn\u2019t insignificant. Some tools require more effort than others to successfully learn. But even with the simplest (Ansible), a configuration for a setup that can run a PHP application with caching, logging, email, and database support isn\u2019t trivial. A recent configuration I created for just such a project, one that provisioned development, testing, and production environments encompassed 15 directories and 34 files.<\/p>\n<p>Then there\u2019s the issue of available resources. Imagine that you need to simulate a production environment that has a web, database, queueing, and caching server on separate machines. You\u2019ll have at least four virtual machines running on your development machine, which can quickly add up as each of them are complete server instances. Consequently, they each need <em>memory<\/em>, <em>cpu<\/em>, and <em>drive space<\/em> allocated.<\/p>\n<p>With Docker, all of this changes. You don\u2019t need to spend much time at all getting an environment set up. Using <a href=\"https:\/\/docs.docker.com\/compose\/\">Docker Compose<\/a>, depending on the application you\u2019re working with, a configuration for an application could be as brief as this:<\/p>\n<pre class=\"brush:php\">version: '2'\r\n\r\nservices:\r\n    nginx:\r\n        image: nginx\r\n        ports:\r\n            - 8080:80\r\n        volumes:\r\n            - .\/docker\/nginx\/default.conf:\/etc\/nginx\/conf.d\/default.conf\r\n        volumes_from:\r\n            - php\r\n\r\n    php:\r\n        build: .\/docker\/php\/\r\n        expose:\r\n            - 9000\r\n        volumes:\r\n            - .:\/var\/www\/html<\/pre>\n<p>Here, we\u2019re creating an environment for a PHP application. We have two containers, one running NGINX and one running PHP via FPM. This is in stark contrast to an Ansible or Puppet configuration. There, you have to specify all the packages required. With Docker, you take a base image, which is shared between containers, and only add in the things you need.<\/p>\n<p>As we only need these two components to run the application, that\u2019s all we need to care about. This has several benefits:<\/p>\n<ul>\n<li>We don\u2019t have to worry about all the related binaries.<\/li>\n<li>The configuration is extremely minimalist.<\/li>\n<li>The learning curve is greatly reduced.<\/li>\n<\/ul>\n<p>It doesn\u2019t matter if someone\u2019s never seen Docker before. I suggest that they could, inside 20 to 30 minutes, learn enough to know what\u2019s going on and where everything is set up, such as where the files are in the container. The don\u2019t need to go on lengthy training courses, nor do they have to become a DevOps guru to make changes if need be.<\/p>\n<p>Container configurations can be created quite quickly, by stringing together a group of existing containers and supplying any extra configuration required. Given that, DevOps can create development environment configurations quite quickly instead of spending exorbitant amounts of time with other technologies.<\/p>\n<h2>3 \u2013 It Provides Portability Across Machines<\/h2>\n<p>In many respects, Docker is the ultimate answer to portability concerns, even on Windows and Mac.<\/p>\n<p>Now, Docker is a Linux-only technology; it\u2019s based on <a href=\"https:\/\/linuxcontainers.org\">Linux Containers (LXC)<\/a>, <a href=\"https:\/\/access.redhat.com\/documentation\/en-US\/Red_Hat_Enterprise_Linux\/6\/html\/Resource_Management_Guide\/ch01.html\">cgroups<\/a>, and <a href=\"https:\/\/www.toptal.com\/linux\/separation-anxiety-isolating-your-system-with-linux-namespaces\">kernel namespaces<\/a> which, by default, exclude Mac and Windows from running Docker natively. In 2014, <a href=\"http:\/\/news.microsoft.com\/2014\/10\/15\/dockerpr\/#sm.000069yprz7yzf6vxjw1q3mghvb8a#vFlyiAqoCfARPmie.97\">Microsoft announced initial support<\/a> to improve Windows Server so that it can natively support it. However, I\u2019m not aware that it\u2019s complete at the time of writing or that such support from Apple exists.<\/p>\n<p>Despite all that, Docker can still be run on both platforms, via <a href=\"https:\/\/docker.github.io\/docker-for-windows\/\">Docker for Windows<\/a> and <a href=\"https:\/\/docker.github.io\/docker-for-mac\/\">Docker for Mac<\/a> respectively. These packages provide a thin Linux foundation upon which Docker environments can be run. Given these changes and packages, regardless of the platform your developers are using, they can make use of a Docker configuration and tools to rapidly boot an environment that provides them with all they need to begin work.<\/p>\n<p>Given that it\u2019s either one or a series of text files, they can be maintained solely with a text editor, which exist in abundance on all major operating systems. What\u2019s more, that makes the configurations easy to store under version control.<\/p>\n<p>I appreciate that there can be the desire to implement corporate IT policies, restricting allowed operating systems. However, this is often a poor choice. And as Docker is available for all the major platforms, there\u2019s no reason to limit developers to a single choice.<\/p>\n<h2>4 \u2013 There Is Consistency Across Development Environments<\/h2>\n<p>This is a benefit that I really like, and one that I\u2019m not familiar with when using virtual machines. When you use a Docker container, you can move it across machines. So long as the machine that you\u2019re moving the container to runs Docker, you\u2019re fine. You can take the application and its dependencies, neatly bundled up in a container, and move it from machine to machine.<\/p>\n<p>It doesn\u2019t matter what the host machine is running; Docker ensures that it can run without any compatibility issues. This is something I tried to do some time ago when building virtual machines with Docker, and I didn\u2019t meet with much success.<\/p>\n<h2>5 \u2013 Environments Are Lightweight<\/h2>\n<p>This is an interesting, if perhaps slightly contentious, issue. Docker runs only one process per container. As a result, a container\u2019s resource requirements are often quite modest. I don\u2019t have sufficient space to detail exactly how it all works, but because the resource requirements are quite small, everything else about working with them can be quite modest and nimble as well.<\/p>\n<p>Take the example of developing using Mac OS X as the host operating system and using Docker for Mac to provide the transition layer between the Mac and Docker. When Docker for Mac is started, that\u2019s the longest startup time completed.<\/p>\n<p>When you boot your container configuration, it usually happens in a matter of seconds, not minutes (or longer) as with virtual machines. This includes the original creation of the containers (whether one or several) or booting an existing container configuration. Compare this to either the provisioning time of a single virtual machine using VirtualBox and Ansible or the boot time, regardless of what you\u2019re using. It\u2019s likely that Docker will always be up and running faster.<\/p>\n<p>Let\u2019s say however, that the foundation for the virtual machine was a tiny distribution like <a href=\"https:\/\/www.busybox.net\/\">BusyBox<\/a>. BusyBox clocks in at 5mb, which is tiny for a Linux distribution. If you were to use it, you\u2019d expect that it would be very light and nimble, and it is. But given how virtual machines and Docker work, Docker is still going to be faster to get up and running.<\/p>\n<p>I did, admittedly, make some broad generalizations there. For what it\u2019s worth, I\u2019m not seeking to denigrate VirtualBox, Vagrant, Ansible, or anything else. I\u2019ve used them all and continue to do so quite happily.<\/p>\n<h2>In Conclusion<\/h2>\n<p>While Docker is still a new kid on the block, it\u2019s not a new technology when it comes to building, managing, and deploying applications. What\u2019s more, it has a host of benefits that make it a prime candidate for building development environments that can dramatically reduce startup time for developers who are new to a company, a department, or a project.<\/p>\n<p>If you\u2019ve not tried it out yet, I strongly encourage you to. If you\u2019re keen to get your feet wet, why not <a href=\"https:\/\/pages.codeship.com\/docker\">request a 14-day trial of Codeship\u2019s Jet<\/a>? Reducing cost and building applications is what it\u2019s all about. Give Docker a try and see how it can help you do both better.<\/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\/five-ways-docker-can-reduce-startup-time-for-new-hires\/\">Five Ways Docker Can Reduce Startup Time for New Hires<\/a> from our <a href=\"http:\/\/www.webcodegeeks.com\/join-us\/wcg\/\">WCG partner<\/a>\u00a0Matthew Setter\u00a0at 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>Regardless of an organization\u2019s size, onboarding new developers and getting them up to speed as quickly as possible remains a distinct challenge. The longer the time between being hired and being productive, the more expensive the investment \u2014 especially when talking about more experienced developers. Given that, two key considerations for any efficient onboarding workflow &hellip;<\/p>\n","protected":false},"author":119,"featured_media":10356,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[17],"tags":[217],"class_list":["post-14909","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>Five Ways Docker Can Reduce Startup Time for New Hires - Web Code Geeks - 2026<\/title>\n<meta name=\"description\" content=\"Regardless of an organization\u2019s size, onboarding new developers and getting them up to speed as quickly as possible remains a distinct challenge. The\" \/>\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\/five-ways-docker-can-reduce-startup-time-new-hires\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Five Ways Docker Can Reduce Startup Time for New Hires - Web Code Geeks - 2026\" \/>\n<meta property=\"og:description\" content=\"Regardless of an organization\u2019s size, onboarding new developers and getting them up to speed as quickly as possible remains a distinct challenge. The\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.webcodegeeks.com\/devops\/five-ways-docker-can-reduce-startup-time-new-hires\/\" \/>\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-10-13T09:15:05+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=\"Matthew Setter\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@settermjd\" \/>\n<meta name=\"twitter:site\" content=\"@webcodegeeks\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Matthew Setter\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"10 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.webcodegeeks.com\/devops\/five-ways-docker-can-reduce-startup-time-new-hires\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.webcodegeeks.com\/devops\/five-ways-docker-can-reduce-startup-time-new-hires\/\"},\"author\":{\"name\":\"Matthew Setter\",\"@id\":\"https:\/\/www.webcodegeeks.com\/#\/schema\/person\/b05e82f4b706b29d2bfb20134e3d2f35\"},\"headline\":\"Five Ways Docker Can Reduce Startup Time for New Hires\",\"datePublished\":\"2016-10-13T09:15:05+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.webcodegeeks.com\/devops\/five-ways-docker-can-reduce-startup-time-new-hires\/\"},\"wordCount\":1959,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.webcodegeeks.com\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.webcodegeeks.com\/devops\/five-ways-docker-can-reduce-startup-time-new-hires\/#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\/five-ways-docker-can-reduce-startup-time-new-hires\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.webcodegeeks.com\/devops\/five-ways-docker-can-reduce-startup-time-new-hires\/\",\"url\":\"https:\/\/www.webcodegeeks.com\/devops\/five-ways-docker-can-reduce-startup-time-new-hires\/\",\"name\":\"Five Ways Docker Can Reduce Startup Time for New Hires - Web Code Geeks - 2026\",\"isPartOf\":{\"@id\":\"https:\/\/www.webcodegeeks.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.webcodegeeks.com\/devops\/five-ways-docker-can-reduce-startup-time-new-hires\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.webcodegeeks.com\/devops\/five-ways-docker-can-reduce-startup-time-new-hires\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2016\/01\/docker-logo.jpg\",\"datePublished\":\"2016-10-13T09:15:05+00:00\",\"description\":\"Regardless of an organization\u2019s size, onboarding new developers and getting them up to speed as quickly as possible remains a distinct challenge. The\",\"breadcrumb\":{\"@id\":\"https:\/\/www.webcodegeeks.com\/devops\/five-ways-docker-can-reduce-startup-time-new-hires\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.webcodegeeks.com\/devops\/five-ways-docker-can-reduce-startup-time-new-hires\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.webcodegeeks.com\/devops\/five-ways-docker-can-reduce-startup-time-new-hires\/#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\/five-ways-docker-can-reduce-startup-time-new-hires\/#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\":\"Five Ways Docker Can Reduce Startup Time for New Hires\"}]},{\"@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\/b05e82f4b706b29d2bfb20134e3d2f35\",\"name\":\"Matthew Setter\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.webcodegeeks.com\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/93462db49ad0350a33d70149761702068941d2e0c07150ae8c32df9512fc2bde?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/93462db49ad0350a33d70149761702068941d2e0c07150ae8c32df9512fc2bde?s=96&d=mm&r=g\",\"caption\":\"Matthew Setter\"},\"description\":\"Matthew Setter is a developer and technical writer. He creates web-based applications and technical content that engage developers with platforms, technologies, applications, and tools.\",\"sameAs\":[\"https:\/\/x.com\/settermjd\"],\"url\":\"https:\/\/www.webcodegeeks.com\/author\/matthew-setter\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Five Ways Docker Can Reduce Startup Time for New Hires - Web Code Geeks - 2026","description":"Regardless of an organization\u2019s size, onboarding new developers and getting them up to speed as quickly as possible remains a distinct challenge. The","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\/five-ways-docker-can-reduce-startup-time-new-hires\/","og_locale":"en_US","og_type":"article","og_title":"Five Ways Docker Can Reduce Startup Time for New Hires - Web Code Geeks - 2026","og_description":"Regardless of an organization\u2019s size, onboarding new developers and getting them up to speed as quickly as possible remains a distinct challenge. The","og_url":"https:\/\/www.webcodegeeks.com\/devops\/five-ways-docker-can-reduce-startup-time-new-hires\/","og_site_name":"Web Code Geeks","article_publisher":"https:\/\/www.facebook.com\/webcodegeeks","article_published_time":"2016-10-13T09:15:05+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":"Matthew Setter","twitter_card":"summary_large_image","twitter_creator":"@settermjd","twitter_site":"@webcodegeeks","twitter_misc":{"Written by":"Matthew Setter","Est. reading time":"10 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.webcodegeeks.com\/devops\/five-ways-docker-can-reduce-startup-time-new-hires\/#article","isPartOf":{"@id":"https:\/\/www.webcodegeeks.com\/devops\/five-ways-docker-can-reduce-startup-time-new-hires\/"},"author":{"name":"Matthew Setter","@id":"https:\/\/www.webcodegeeks.com\/#\/schema\/person\/b05e82f4b706b29d2bfb20134e3d2f35"},"headline":"Five Ways Docker Can Reduce Startup Time for New Hires","datePublished":"2016-10-13T09:15:05+00:00","mainEntityOfPage":{"@id":"https:\/\/www.webcodegeeks.com\/devops\/five-ways-docker-can-reduce-startup-time-new-hires\/"},"wordCount":1959,"commentCount":0,"publisher":{"@id":"https:\/\/www.webcodegeeks.com\/#organization"},"image":{"@id":"https:\/\/www.webcodegeeks.com\/devops\/five-ways-docker-can-reduce-startup-time-new-hires\/#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\/five-ways-docker-can-reduce-startup-time-new-hires\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.webcodegeeks.com\/devops\/five-ways-docker-can-reduce-startup-time-new-hires\/","url":"https:\/\/www.webcodegeeks.com\/devops\/five-ways-docker-can-reduce-startup-time-new-hires\/","name":"Five Ways Docker Can Reduce Startup Time for New Hires - Web Code Geeks - 2026","isPartOf":{"@id":"https:\/\/www.webcodegeeks.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.webcodegeeks.com\/devops\/five-ways-docker-can-reduce-startup-time-new-hires\/#primaryimage"},"image":{"@id":"https:\/\/www.webcodegeeks.com\/devops\/five-ways-docker-can-reduce-startup-time-new-hires\/#primaryimage"},"thumbnailUrl":"https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2016\/01\/docker-logo.jpg","datePublished":"2016-10-13T09:15:05+00:00","description":"Regardless of an organization\u2019s size, onboarding new developers and getting them up to speed as quickly as possible remains a distinct challenge. The","breadcrumb":{"@id":"https:\/\/www.webcodegeeks.com\/devops\/five-ways-docker-can-reduce-startup-time-new-hires\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.webcodegeeks.com\/devops\/five-ways-docker-can-reduce-startup-time-new-hires\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.webcodegeeks.com\/devops\/five-ways-docker-can-reduce-startup-time-new-hires\/#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\/five-ways-docker-can-reduce-startup-time-new-hires\/#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":"Five Ways Docker Can Reduce Startup Time for New Hires"}]},{"@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\/b05e82f4b706b29d2bfb20134e3d2f35","name":"Matthew Setter","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.webcodegeeks.com\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/93462db49ad0350a33d70149761702068941d2e0c07150ae8c32df9512fc2bde?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/93462db49ad0350a33d70149761702068941d2e0c07150ae8c32df9512fc2bde?s=96&d=mm&r=g","caption":"Matthew Setter"},"description":"Matthew Setter is a developer and technical writer. He creates web-based applications and technical content that engage developers with platforms, technologies, applications, and tools.","sameAs":["https:\/\/x.com\/settermjd"],"url":"https:\/\/www.webcodegeeks.com\/author\/matthew-setter\/"}]}},"_links":{"self":[{"href":"https:\/\/www.webcodegeeks.com\/wp-json\/wp\/v2\/posts\/14909","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\/119"}],"replies":[{"embeddable":true,"href":"https:\/\/www.webcodegeeks.com\/wp-json\/wp\/v2\/comments?post=14909"}],"version-history":[{"count":0,"href":"https:\/\/www.webcodegeeks.com\/wp-json\/wp\/v2\/posts\/14909\/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=14909"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.webcodegeeks.com\/wp-json\/wp\/v2\/categories?post=14909"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.webcodegeeks.com\/wp-json\/wp\/v2\/tags?post=14909"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}