{"id":7817,"date":"2023-08-17T14:32:04","date_gmt":"2023-08-17T09:02:04","guid":{"rendered":"https:\/\/innovationm.co\/?p=7817"},"modified":"2023-08-17T14:32:04","modified_gmt":"2023-08-17T09:02:04","slug":"docker-tutorial-for-beginners","status":"publish","type":"post","link":"https:\/\/www.innovationm.com\/blog\/docker-tutorial-for-beginners\/","title":{"rendered":"Docker tutorial for beginners"},"content":{"rendered":"<p><strong>What is Docker?<\/strong><\/p>\n<p>A platform for building, launching, and delivering applications in a consistent manner.<\/p>\n<p>Configure once and run it on any machine where the configuration part will be handled by Docker, and you don&#8217;t have to configure it again and again for different machines.<\/p>\n<p><strong>Containers<\/strong><\/p>\n<p>After installing the dependencies, it runs in an isolated environment called containers. This isolated environment allows multiple applications to use different versions of any software side by side.<\/p>\n<p><img fetchpriority=\"high\" decoding=\"async\" class=\"alignnone  wp-image-7818\" src=\"https:\/\/innovationm.co\/wp-content\/uploads\/2023\/08\/b1-1-300x152.png\" alt=\"\" width=\"359\" height=\"182\" srcset=\"https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2023\/08\/b1-1-300x152.png 300w, https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2023\/08\/b1-1.png 315w\" sizes=\"(max-width: 359px) 100vw, 359px\" \/><\/p>\n<p>For example, if there are two applications that both use Node, but with different versions. They can run side by side in an isolated environment without interfering with each other.<\/p>\n<p><strong>Virtual machines<\/strong><\/p>\n<p>A virtual machine is an emulation of a machine\/physical hardware. Using a hypervisor, we can run multiple virtual machines on a real physical machine.<\/p>\n<p>The hypervisor is the tool we used to create and manage virtual machines. There are many hypervisors available, such as VirtualBox and VMware, which are cross-platform. It helps us to run applications in isolation in a VM and on the same physical machine we can have another VM running a completely different application.<\/p>\n<p><strong>So why don&#8217;t we use virtual machines instead of containers?<\/strong><\/p>\n<p><strong>Virtual machines vs containers<\/strong><\/p>\n<p>Because virtual machines come with certain problems. Let&#8217;s discuss them. Each virtual machine needs a full copy of the operating system. It is slow because it mimics our computer. Each virtual machine uses real physical hardware resources.<\/p>\n<p>Let&#8217;s talk about containers. Containers also provide us with the same kind of insulation. They are lightweight and do not need a full operating system. It uses the host&#8217;s operating system.<\/p>\n<p>Since the operating system has already started on the host, the container will start quickly. It also does not use any hardware resources like CPU, memory, etc. Due to this, we can run many containers side by side based on requirements.<\/p>\n<p>&nbsp;<\/p>\n<p><strong>Docker architecture<\/strong><\/p>\n<p>Docker uses a client-server architecture. Where the client component communicates with the server component using a quiet API, over UNIX sockets or a network interface.<\/p>\n<p><img decoding=\"async\" class=\"alignnone  wp-image-7819\" src=\"https:\/\/innovationm.co\/wp-content\/uploads\/2023\/08\/b2-1-300x300.png\" alt=\"\" width=\"334\" height=\"334\" srcset=\"https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2023\/08\/b2-1-300x300.png 300w, https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2023\/08\/b2-1-150x150.png 150w, https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2023\/08\/b2-1-24x24.png 24w, https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2023\/08\/b2-1-48x48.png 48w, https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2023\/08\/b2-1-96x96.png 96w, https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2023\/08\/b2-1.png 350w\" sizes=\"(max-width: 334px) 100vw, 334px\" \/><\/p>\n<p>All containers on a host share the host kernel with respect to the operating system. For example, Linux containers run on a Linux operating system, Windows containers run on a Windows operating system, and so on.<\/p>\n<p><strong>Installing Docker<\/strong><\/p>\n<p>visit https:\/\/docs.docker.com\/get-docker\/ and follow the guide to install Docker on the appropriate platform i.e. Windows, Linux, or MAC. However, check the system requirements before installing.<\/p>\n<p><strong>Commands to install docker on Ubuntu<\/strong><\/p>\n<p><strong>Install docker<\/strong><\/p>\n<pre>- sudo apt-get update\r\n- sudo apt install docker.io\r\n- sudo snap install docker\r\n- docker -v<\/pre>\n<p><strong>To run\/check docker images<\/strong><\/p>\n<pre>- sudo docker run docker-image-name\r\n- sudo docker images<\/pre>\n<p><strong>List docker images<\/strong><\/p>\n<pre>- sudo docker ps -a\u2014 List all images\r\n- sudo docker ps \u2014 List running images<\/pre>\n<p>Once Docker is installed. We need to verify this and run the following command. This command will list all the options available for the dockable panel that you can use.<\/p>\n<p><strong>$ docker<\/strong><\/p>\n<p><img decoding=\"async\" class=\"alignnone  wp-image-7820\" src=\"https:\/\/innovationm.co\/wp-content\/uploads\/2023\/08\/b3-1-300x219.png\" alt=\"\" width=\"396\" height=\"289\" srcset=\"https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2023\/08\/b3-1-300x219.png 300w, https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2023\/08\/b3-1-624x456.png 624w, https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2023\/08\/b3-1.png 700w\" sizes=\"(max-width: 396px) 100vw, 396px\" \/><\/p>\n<p><strong>In case, you see the following error or something similar.<\/strong><\/p>\n<pre>'docker' is not recognized as an internal or external command,\r\n\r\noperable program, or batch file.<\/pre>\n<p>make sure you followed the installation steps correctly and then continue. Then run the following command to check which version you have installed on your system. This command will give you all the detailed information about the installed version of Docker.<\/p>\n<p>$ docker version<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone  wp-image-7821\" src=\"https:\/\/innovationm.co\/wp-content\/uploads\/2023\/08\/b4-1-300x130.png\" alt=\"\" width=\"427\" height=\"185\" srcset=\"https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2023\/08\/b4-1-300x130.png 300w, https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2023\/08\/b4-1-624x271.png 624w, https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2023\/08\/b4-1.png 700w\" sizes=\"(max-width: 427px) 100vw, 427px\" \/><\/p>\n<h1><strong>Development Workflow<\/strong><\/h1>\n<p>We take an application, regardless of the technologies it uses, and dockerize it.<\/p>\n<p><strong>How?<\/strong><\/p>\n<p>By simply adding a Dockerfile that contains the instructions that Docker then uses to package the application into an image. This image meets all the requirements the application needs to run.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone  wp-image-7822\" src=\"https:\/\/innovationm.co\/wp-content\/uploads\/2023\/08\/b5-1-300x300.png\" alt=\"\" width=\"415\" height=\"415\" srcset=\"https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2023\/08\/b5-1-300x300.png 300w, https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2023\/08\/b5-1-150x150.png 150w, https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2023\/08\/b5-1-24x24.png 24w, https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2023\/08\/b5-1-48x48.png 48w, https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2023\/08\/b5-1-96x96.png 96w, https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2023\/08\/b5-1.png 350w\" sizes=\"(max-width: 415px) 100vw, 415px\" \/><\/p>\n<p>We can push the image to Docker Hub just like Github and then we can put it on any machine from Docker Hub and run it virtually because it contains all the specific dependencies required by the application to run.<\/p>\n<p><strong>Storage: Push and pull container images.<\/strong><\/p>\n<p><strong>Working with Docker<\/strong><\/p>\n<p><strong>Open a terminal and enter the commands below<\/strong><\/p>\n<p>First, make sure you have installed vscode and node<\/p>\n<pre>$ mkdir docker-app\r\n\r\n$ cd docker-app\r\n\r\n$ code .<\/pre>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone  wp-image-7823\" src=\"https:\/\/innovationm.co\/wp-content\/uploads\/2023\/08\/b6-1-300x155.png\" alt=\"\" width=\"374\" height=\"193\" srcset=\"https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2023\/08\/b6-1-300x155.png 300w, https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2023\/08\/b6-1.png 607w\" sizes=\"(max-width: 374px) 100vw, 374px\" \/><\/p>\n<p><strong style=\"font-size: 1rem;\">Create an index.js file and paste the code below<\/strong><\/p>\n<p>console.log(&#8220;My First Docker App&#8221;)<\/p>\n<p>In the terminal, run the command below to run the index.js file.<\/p>\n<pre>$ node index<\/pre>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone  wp-image-7824\" src=\"https:\/\/innovationm.co\/wp-content\/uploads\/2023\/08\/b7-1-300x222.png\" alt=\"\" width=\"370\" height=\"274\" srcset=\"https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2023\/08\/b7-1-300x222.png 300w, https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2023\/08\/b7-1-624x463.png 624w, https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2023\/08\/b7-1.png 700w\" sizes=\"(max-width: 370px) 100vw, 370px\" \/><\/p>\n<p><strong style=\"font-size: 1rem;\">Create a Dockerfile at the same level where you created the index.js file and add the Docker extension to vscode as shown in the image below<\/strong><\/p>\n<pre>Filename: <strong>Dockerfile<\/strong> [without any extension]<\/pre>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone  wp-image-7825\" src=\"https:\/\/innovationm.co\/wp-content\/uploads\/2023\/08\/b8-1-300x164.png\" alt=\"\" width=\"366\" height=\"200\" srcset=\"https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2023\/08\/b8-1-300x164.png 300w, https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2023\/08\/b8-1-624x341.png 624w, https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2023\/08\/b8-1.png 689w\" sizes=\"(max-width: 366px) 100vw, 366px\" \/><\/p>\n<p><strong>Copy the code below into Dockerfile and save it<\/strong><\/p>\n<pre>FROM node:alpine\r\n\r\nCOPY . \/index\r\n\r\nWORKDIR \/index\r\n\r\nCMD node index.js<\/pre>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone  wp-image-7826\" src=\"https:\/\/innovationm.co\/wp-content\/uploads\/2023\/08\/b9-1-300x167.png\" alt=\"\" width=\"372\" height=\"207\" srcset=\"https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2023\/08\/b9-1-300x167.png 300w, https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2023\/08\/b9-1.png 564w\" sizes=\"(max-width: 372px) 100vw, 372px\" \/><\/p>\n<p><strong style=\"font-size: 1rem;\">Let&#8217;s create our docker application<\/strong><\/p>\n<pre>sudo docker build -t docker-app .<\/pre>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone  wp-image-7827\" src=\"https:\/\/innovationm.co\/wp-content\/uploads\/2023\/08\/b10-1-300x183.png\" alt=\"\" width=\"364\" height=\"222\" srcset=\"https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2023\/08\/b10-1-300x183.png 300w, https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2023\/08\/b10-1-624x381.png 624w, https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2023\/08\/b10-1.png 674w\" sizes=\"(max-width: 364px) 100vw, 364px\" \/><\/p>\n<p><strong style=\"font-size: 1rem;\">How we created the image but it is not visible in our working directory. To check this, run the following command<\/strong><\/p>\n<p>$ sudo docker image ls<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone  wp-image-7828\" src=\"https:\/\/innovationm.co\/wp-content\/uploads\/2023\/08\/b11-1-300x80.png\" alt=\"\" width=\"349\" height=\"93\" srcset=\"https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2023\/08\/b11-1-300x80.png 300w, https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2023\/08\/b11-1.png 590w\" sizes=\"(max-width: 349px) 100vw, 349px\" \/><\/p>\n<p><strong style=\"font-size: 1rem;\">Run the docker-app image on our development machine.<\/strong><\/p>\n<p>$ sudo docker run docker-app<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone  wp-image-7829\" src=\"https:\/\/innovationm.co\/wp-content\/uploads\/2023\/08\/b12-1-300x51.png\" alt=\"\" width=\"341\" height=\"58\" srcset=\"https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2023\/08\/b12-1-300x51.png 300w, https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2023\/08\/b12-1.png 584w\" sizes=\"(max-width: 341px) 100vw, 341px\" \/><\/p>\n","protected":false},"excerpt":{"rendered":"<p>What is Docker? A platform for building, launching, and delivering applications in a consistent manner. Configure once and run it on any machine where the configuration part will be handled by Docker, and you don&#8217;t have to configure it again and again for different machines. Containers After installing the dependencies, it runs in an isolated [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":7830,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[71],"tags":[722,899,901,900],"class_list":["post-7817","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-mobile","tag-blog","tag-docker","tag-docker-beginner","tag-docker-blog"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Docker tutorial for beginners - InnovationM - Blog<\/title>\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.innovationm.com\/blog\/docker-tutorial-for-beginners\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Docker tutorial for beginners - InnovationM - Blog\" \/>\n<meta property=\"og:description\" content=\"What is Docker? A platform for building, launching, and delivering applications in a consistent manner. Configure once and run it on any machine where the configuration part will be handled by Docker, and you don&#8217;t have to configure it again and again for different machines. Containers After installing the dependencies, it runs in an isolated [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.innovationm.com\/blog\/docker-tutorial-for-beginners\/\" \/>\n<meta property=\"og:site_name\" content=\"InnovationM - Blog\" \/>\n<meta property=\"article:published_time\" content=\"2023-08-17T09:02:04+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2023\/08\/Docker-tutorial-for-beginners.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1689\" \/>\n\t<meta property=\"og:image:height\" content=\"950\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"InnovationM Admin\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"InnovationM Admin\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"6 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/docker-tutorial-for-beginners\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/docker-tutorial-for-beginners\\\/\"},\"author\":{\"name\":\"InnovationM Admin\",\"@id\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/#\\\/schema\\\/person\\\/a831bf4602d69d1fa452e3de0c8862ed\"},\"headline\":\"Docker tutorial for beginners\",\"datePublished\":\"2023-08-17T09:02:04+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/docker-tutorial-for-beginners\\\/\"},\"wordCount\":733,\"commentCount\":0,\"image\":{\"@id\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/docker-tutorial-for-beginners\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/wp-content\\\/uploads\\\/2023\\\/08\\\/Docker-tutorial-for-beginners.png\",\"keywords\":[\"blog\",\"docker\",\"docker beginner\",\"docker blog\"],\"articleSection\":[\"Mobile\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/docker-tutorial-for-beginners\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/docker-tutorial-for-beginners\\\/\",\"url\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/docker-tutorial-for-beginners\\\/\",\"name\":\"Docker tutorial for beginners - InnovationM - Blog\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/docker-tutorial-for-beginners\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/docker-tutorial-for-beginners\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/wp-content\\\/uploads\\\/2023\\\/08\\\/Docker-tutorial-for-beginners.png\",\"datePublished\":\"2023-08-17T09:02:04+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/#\\\/schema\\\/person\\\/a831bf4602d69d1fa452e3de0c8862ed\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/docker-tutorial-for-beginners\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/docker-tutorial-for-beginners\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/docker-tutorial-for-beginners\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/wp-content\\\/uploads\\\/2023\\\/08\\\/Docker-tutorial-for-beginners.png\",\"contentUrl\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/wp-content\\\/uploads\\\/2023\\\/08\\\/Docker-tutorial-for-beginners.png\",\"width\":1689,\"height\":950},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/docker-tutorial-for-beginners\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Docker tutorial for beginners\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/\",\"name\":\"InnovationM - Blog\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/#\\\/schema\\\/person\\\/a831bf4602d69d1fa452e3de0c8862ed\",\"name\":\"InnovationM Admin\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/5c99d9eece9dfbc82297cf34ddd58e9fe05bb52fe66c8f6bf6c0a45bfb6d7629?s=96&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/5c99d9eece9dfbc82297cf34ddd58e9fe05bb52fe66c8f6bf6c0a45bfb6d7629?s=96&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/5c99d9eece9dfbc82297cf34ddd58e9fe05bb52fe66c8f6bf6c0a45bfb6d7629?s=96&r=g\",\"caption\":\"InnovationM Admin\"},\"sameAs\":[\"http:\\\/\\\/www.innovationm.com\\\/\"],\"url\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/author\\\/innovationmadmin\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Docker tutorial for beginners - InnovationM - Blog","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.innovationm.com\/blog\/docker-tutorial-for-beginners\/","og_locale":"en_US","og_type":"article","og_title":"Docker tutorial for beginners - InnovationM - Blog","og_description":"What is Docker? A platform for building, launching, and delivering applications in a consistent manner. Configure once and run it on any machine where the configuration part will be handled by Docker, and you don&#8217;t have to configure it again and again for different machines. Containers After installing the dependencies, it runs in an isolated [&hellip;]","og_url":"https:\/\/www.innovationm.com\/blog\/docker-tutorial-for-beginners\/","og_site_name":"InnovationM - Blog","article_published_time":"2023-08-17T09:02:04+00:00","og_image":[{"width":1689,"height":950,"url":"https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2023\/08\/Docker-tutorial-for-beginners.png","type":"image\/png"}],"author":"InnovationM Admin","twitter_misc":{"Written by":"InnovationM Admin","Est. reading time":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.innovationm.com\/blog\/docker-tutorial-for-beginners\/#article","isPartOf":{"@id":"https:\/\/www.innovationm.com\/blog\/docker-tutorial-for-beginners\/"},"author":{"name":"InnovationM Admin","@id":"https:\/\/www.innovationm.com\/blog\/#\/schema\/person\/a831bf4602d69d1fa452e3de0c8862ed"},"headline":"Docker tutorial for beginners","datePublished":"2023-08-17T09:02:04+00:00","mainEntityOfPage":{"@id":"https:\/\/www.innovationm.com\/blog\/docker-tutorial-for-beginners\/"},"wordCount":733,"commentCount":0,"image":{"@id":"https:\/\/www.innovationm.com\/blog\/docker-tutorial-for-beginners\/#primaryimage"},"thumbnailUrl":"https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2023\/08\/Docker-tutorial-for-beginners.png","keywords":["blog","docker","docker beginner","docker blog"],"articleSection":["Mobile"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.innovationm.com\/blog\/docker-tutorial-for-beginners\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.innovationm.com\/blog\/docker-tutorial-for-beginners\/","url":"https:\/\/www.innovationm.com\/blog\/docker-tutorial-for-beginners\/","name":"Docker tutorial for beginners - InnovationM - Blog","isPartOf":{"@id":"https:\/\/www.innovationm.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.innovationm.com\/blog\/docker-tutorial-for-beginners\/#primaryimage"},"image":{"@id":"https:\/\/www.innovationm.com\/blog\/docker-tutorial-for-beginners\/#primaryimage"},"thumbnailUrl":"https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2023\/08\/Docker-tutorial-for-beginners.png","datePublished":"2023-08-17T09:02:04+00:00","author":{"@id":"https:\/\/www.innovationm.com\/blog\/#\/schema\/person\/a831bf4602d69d1fa452e3de0c8862ed"},"breadcrumb":{"@id":"https:\/\/www.innovationm.com\/blog\/docker-tutorial-for-beginners\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.innovationm.com\/blog\/docker-tutorial-for-beginners\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.innovationm.com\/blog\/docker-tutorial-for-beginners\/#primaryimage","url":"https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2023\/08\/Docker-tutorial-for-beginners.png","contentUrl":"https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2023\/08\/Docker-tutorial-for-beginners.png","width":1689,"height":950},{"@type":"BreadcrumbList","@id":"https:\/\/www.innovationm.com\/blog\/docker-tutorial-for-beginners\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.innovationm.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Docker tutorial for beginners"}]},{"@type":"WebSite","@id":"https:\/\/www.innovationm.com\/blog\/#website","url":"https:\/\/www.innovationm.com\/blog\/","name":"InnovationM - Blog","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.innovationm.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/www.innovationm.com\/blog\/#\/schema\/person\/a831bf4602d69d1fa452e3de0c8862ed","name":"InnovationM Admin","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/5c99d9eece9dfbc82297cf34ddd58e9fe05bb52fe66c8f6bf6c0a45bfb6d7629?s=96&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/5c99d9eece9dfbc82297cf34ddd58e9fe05bb52fe66c8f6bf6c0a45bfb6d7629?s=96&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/5c99d9eece9dfbc82297cf34ddd58e9fe05bb52fe66c8f6bf6c0a45bfb6d7629?s=96&r=g","caption":"InnovationM Admin"},"sameAs":["http:\/\/www.innovationm.com\/"],"url":"https:\/\/www.innovationm.com\/blog\/author\/innovationmadmin\/"}]}},"_links":{"self":[{"href":"https:\/\/www.innovationm.com\/blog\/wp-json\/wp\/v2\/posts\/7817","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.innovationm.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.innovationm.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.innovationm.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.innovationm.com\/blog\/wp-json\/wp\/v2\/comments?post=7817"}],"version-history":[{"count":0,"href":"https:\/\/www.innovationm.com\/blog\/wp-json\/wp\/v2\/posts\/7817\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.innovationm.com\/blog\/wp-json\/wp\/v2\/media\/7830"}],"wp:attachment":[{"href":"https:\/\/www.innovationm.com\/blog\/wp-json\/wp\/v2\/media?parent=7817"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.innovationm.com\/blog\/wp-json\/wp\/v2\/categories?post=7817"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.innovationm.com\/blog\/wp-json\/wp\/v2\/tags?post=7817"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}