{"id":310,"date":"2024-04-30T14:37:51","date_gmt":"2024-04-30T18:37:51","guid":{"rendered":"https:\/\/ericburdo.com\/blog\/?p=310"},"modified":"2024-04-30T14:37:51","modified_gmt":"2024-04-30T18:37:51","slug":"what-is-docker-in-simple-terms","status":"publish","type":"post","link":"http:\/\/ericburdo.com\/blog\/tech-tips\/310\/what-is-docker-in-simple-terms\/","title":{"rendered":"What is Docker? In Simple Terms"},"content":{"rendered":"\n<p>In simple terms,\u00a0<strong>Docker<\/strong>\u00a0is a software platform that streamlines the process of\u00a0<strong>building, running, managing, and distributing applications<\/strong>. <\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"576\" src=\"https:\/\/ericburdo.com\/blog\/wp-content\/uploads\/2024\/04\/Docker-Symbol-2113690321-1024x576.png\" alt=\"\" class=\"wp-image-313\" srcset=\"http:\/\/ericburdo.com\/blog\/wp-content\/uploads\/2024\/04\/Docker-Symbol-2113690321-1024x576.png 1024w, http:\/\/ericburdo.com\/blog\/wp-content\/uploads\/2024\/04\/Docker-Symbol-2113690321-300x169.png 300w, http:\/\/ericburdo.com\/blog\/wp-content\/uploads\/2024\/04\/Docker-Symbol-2113690321-768x432.png 768w, http:\/\/ericburdo.com\/blog\/wp-content\/uploads\/2024\/04\/Docker-Symbol-2113690321-1536x864.png 1536w, http:\/\/ericburdo.com\/blog\/wp-content\/uploads\/2024\/04\/Docker-Symbol-2113690321-2048x1152.png 2048w, http:\/\/ericburdo.com\/blog\/wp-content\/uploads\/2024\/04\/Docker-Symbol-2113690321-900x506.png 900w, http:\/\/ericburdo.com\/blog\/wp-content\/uploads\/2024\/04\/Docker-Symbol-2113690321-1280x720.png 1280w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Here\u2019s how it works:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Virtualization<\/strong>: Docker virtualizes the\u00a0<strong>operating system<\/strong>\u00a0of the computer where it\u2019s installed. Imagine it as a lightweight, portable container that holds everything your application needs to run.<\/li>\n\n\n\n<li><strong>Containers<\/strong>: These containers package up your application along with all its dependencies (like libraries, configurations, and other software components). Each container is isolated from the others, ensuring that different applications can coexist without conflicts.\n<ul class=\"wp-block-list\">\n<li><em>Usually those containers also run the smallest possible version of the software, you can theoretically install an operating system like Ubuntu 20 with all its bells and whistles in a container, but what is typically done by professionals is that they build a stripped down version of the operating system that can do one job only.<sup data-fn=\"4943ff5f-c937-4ebc-9fe9-891ae11529ef\" class=\"fn\"><a href=\"#4943ff5f-c937-4ebc-9fe9-891ae11529ef\" id=\"4943ff5f-c937-4ebc-9fe9-891ae11529ef-link\">1<\/a><\/sup><\/em><\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Benefits<\/strong>:\n<ul class=\"wp-block-list\">\n<li><strong>Consistency<\/strong>: Docker ensures that your application runs consistently across different environments (development, testing, production).<\/li>\n\n\n\n<li><strong>Efficiency<\/strong>: It optimizes resource usage by sharing the host OS kernel across containers.<\/li>\n\n\n\n<li><strong>Portability<\/strong>: You can move containers between different systems without worrying about compatibility issues.<\/li>\n\n\n\n<li><strong>Scalability<\/strong>: Easily scale your application by creating more containers.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Use Cases<\/strong>:\n<ul class=\"wp-block-list\">\n<li><strong>Development<\/strong>: Developers use Docker to create consistent development environments.<\/li>\n\n\n\n<li><strong>Deployment<\/strong>: Docker simplifies deploying applications to servers, cloud platforms, or even edge devices.\n<ul class=\"wp-block-list\">\n<li><em>When time comes to deploy my app to production, I don\u2019t need to set up separate servers and what not. I just save my containers into image files then just go to Amazon and deploy with docker to the server instances I choose. I don\u2019t care what operating system Amazon is running on those servers, because docker will build me containers that are identical to those I saved on my own computer and run them.<\/em><sup data-fn=\"d62d9332-d017-449f-ae9c-cf45b460ca70\" class=\"fn\"><a href=\"#d62d9332-d017-449f-ae9c-cf45b460ca70\" id=\"d62d9332-d017-449f-ae9c-cf45b460ca70-link\">1<\/a><\/sup><\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Microservices<\/strong>: It\u2019s ideal for building and managing microservices architectures.<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n\n\n\n<p>In summary, Docker makes application deployment and management easier by encapsulating everything needed for an app to run within a container. It\u2019s like a magic box that holds your app and its dependencies, making it portable and efficient! \ud83d\ude80<\/p>\n\n\n\n<p>For me&#8230; I&#8217;m considering user Docker in conjunction with Playwright to setup automated testing.  Then I can deploy the parts into Azure or whatever makes sense for the client.<\/p>\n\n\n\n<p><\/p>\n\n\n\n<p>References:<\/p>\n\n\n<ol class=\"wp-block-footnotes\"><li id=\"4943ff5f-c937-4ebc-9fe9-891ae11529ef\"><a href=\"https:\/\/www.reddit.com\/r\/docker\/comments\/keq9el\/please_someone_explain_docker_to_me_like_i_am_an\/\">Reddit Article<\/a> from <a href=\"https:\/\/www.reddit.com\/user\/mohelgamal\/\">SnitchesStitcher<\/a> <a href=\"#4943ff5f-c937-4ebc-9fe9-891ae11529ef-link\" aria-label=\"Jump to footnote reference 1\">\u21a9\ufe0e<\/a><\/li><li id=\"d62d9332-d017-449f-ae9c-cf45b460ca70\"><a href=\"https:\/\/www.freecodecamp.org\/news\/docker-simplified-96639a35ff36\/\">FreeCodeCample article<\/a> &#8211; Docker Simplified <a href=\"#d62d9332-d017-449f-ae9c-cf45b460ca70-link\" aria-label=\"Jump to footnote reference 2\">\u21a9\ufe0e<\/a><\/li><\/ol>\n\n\n<p><br \/><\/p>\n","protected":false},"excerpt":{"rendered":"<p>In simple terms,\u00a0Docker\u00a0is a software platform that streamlines the process of\u00a0building, running, managing, and distributing applications. Here\u2019s how it works: In summary, Docker makes application deployment and management easier by encapsulating everything needed for an app to run within a container. It\u2019s like a magic box that holds your app and its dependencies, making it [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"[{\"content\":\"<a href=\\\"https:\/\/www.reddit.com\/r\/docker\/comments\/keq9el\/please_someone_explain_docker_to_me_like_i_am_an\/\\\">Reddit Article<\/a> from <a href=\\\"https:\/\/www.reddit.com\/user\/mohelgamal\/\\\">SnitchesStitcher<\/a>\",\"id\":\"4943ff5f-c937-4ebc-9fe9-891ae11529ef\"},{\"content\":\"<a href=\\\"https:\/\/www.freecodecamp.org\/news\/docker-simplified-96639a35ff36\/\\\">FreeCodeCample article<\/a> - Docker Simplified\",\"id\":\"d62d9332-d017-449f-ae9c-cf45b460ca70\"}]"},"categories":[93],"tags":[122],"class_list":["post-310","post","type-post","status-publish","format-standard","hentry","category-tech-tips","tag-docker"],"_links":{"self":[{"href":"http:\/\/ericburdo.com\/blog\/wp-json\/wp\/v2\/posts\/310","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/ericburdo.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/ericburdo.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/ericburdo.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/ericburdo.com\/blog\/wp-json\/wp\/v2\/comments?post=310"}],"version-history":[{"count":2,"href":"http:\/\/ericburdo.com\/blog\/wp-json\/wp\/v2\/posts\/310\/revisions"}],"predecessor-version":[{"id":314,"href":"http:\/\/ericburdo.com\/blog\/wp-json\/wp\/v2\/posts\/310\/revisions\/314"}],"wp:attachment":[{"href":"http:\/\/ericburdo.com\/blog\/wp-json\/wp\/v2\/media?parent=310"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/ericburdo.com\/blog\/wp-json\/wp\/v2\/categories?post=310"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/ericburdo.com\/blog\/wp-json\/wp\/v2\/tags?post=310"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}