{"id":14730,"date":"2016-09-30T16:15:52","date_gmt":"2016-09-30T13:15:52","guid":{"rendered":"http:\/\/www.webcodegeeks.com\/?p=14730"},"modified":"2017-12-19T12:27:19","modified_gmt":"2017-12-19T10:27:19","slug":"install-docker-ubuntu-tutorial","status":"publish","type":"post","link":"https:\/\/www.webcodegeeks.com\/devops\/install-docker-ubuntu-tutorial\/","title":{"rendered":"Install Docker on Ubuntu Tutorial"},"content":{"rendered":"<p>Docker is, without any doubt, on of the most popular software at the moment, being used by almost every web developer and systems administrator. In this tutorial, we will see how to install it in Ubuntu systems.<\/p>\n<p>For this tutorial, we will use Linux Mint 18 (an Ubuntu based Linux distribution) 64-bit version.<\/p>\n<h2>1. Prerequisites<\/h2>\n<p>According to Docker documentation, we must meet the following prerequisites for installing Docker:<\/p>\n<ul>\n<li>64-bit distro. Obviously, we need a 64-bit microprocessor.<\/li>\n<li>At least, 3.10 kernel version. In Ubuntu, these versions are present since 13.10, so it shouldn&#8217;t be a problem.<\/li>\n<\/ul>\n<p>[ulp id=&#8217;OCKUMTbC259tpbxG&#8217;]<br \/>\n&nbsp;<br \/>\nJust in case, we can check the kernel version with the following command:<\/p>\n<pre class=\"brush:bash\">uname -r<\/pre>\n<p>Which will show the kernel release. For this case, the output is:<\/p>\n<pre class=\"brush:bash\">4.4.0-21-generic<\/pre>\n<p>Now, let&#8217;s see how we can install it.<\/p>\n<h2>2. Installation<\/h2>\n<p>We can install Docker simply via <code>apt-get<\/code>, without the need of adding any repository, just installing the <code>docker.io<\/code> package:<\/p>\n<pre class=\"brush:bash\">sudo apt-get update\r\nsudo apt-get install docker.io<\/pre>\n<p>We can check that Docker has been successfully installed with executing the following:<\/p>\n<pre class=\"brush:bash\">docker -v<\/pre>\n<p>In this case, the following version has been installed:<\/p>\n<pre class=\"brush:bash\">Docker version 1.11.2, build b9f10c9<\/pre>\n<p>We can check if the Docker service was started:<\/p>\n<pre class=\"brush:bash\">\u25cf docker.service - Docker Application Container Engine\r\n\u00a0\u00a0 Loaded: loaded (\/lib\/systemd\/system\/docker.service; enabled; vendor preset: enabled)\r\n\u00a0\u00a0 Active: active (running) since Thu 2016-09-22 12:39:12 CEST; 4min 13s ago\r\n\u00a0\u00a0\u00a0\u00a0 Docs: https:\/\/docs.docker.com\r\n\u00a0Main PID: 18883 (docker)\r\n\u00a0\u00a0 CGroup: \/system.slice\/docker.service\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \u251c\u250018883 \/usr\/bin\/docker daemon -H fd:\/\/\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \u2514\u250018891 containerd -l \/var\/run\/docker\/libcontainerd\/docker-containerd.sock --runtime runc --start-timeout 2m<\/pre>\n<p>Finally, we can pull an image to check that Docker is working properly. For example, we will pull a BusyBox image:<\/p>\n<pre class=\"brush:bash\">docker pull busybox<\/pre>\n<p>And it should start to download the layers for the image.<\/p>\n<p>Perhaps you got an error similar to the following:<\/p>\n<blockquote><p>Warning: failed to get default registry endpoint from daemon (Cannot connect to the Docker daemon. Is the docker daemon running on this host?). Using system default: https:\/\/index.docker.io\/v1\/<\/p>\n<p>Cannot connect to the Docker daemon. Is the docker daemon running on this host?<\/p><\/blockquote>\n<p>If you got this error, don&#8217;t worry, we will see how to fix it in the following subsection.<\/p>\n<h3>2.1. Fixing &#8220;Cannot connect to the Docker daemon&#8221; error<\/h3>\n<p>Actually, is not an error itself, is just that the user we are trying to execute Docker with, has no permission to access the Docker service.<\/p>\n<p>This means that, if we try the same command with <code>sudo<\/code> permissions, we won&#8217;t get the error:<\/p>\n<pre class=\"brush:bash\">sudo docker pull busybox<\/pre>\n<p>You will see that the image is being downloaded properly.<\/p>\n<p>If we want to get rid of the <code>sudo<\/code> permissions for using Docker, we just have to add the user in question to the <code>docker<\/code> group, created by Docker during the installation. We can check that, effectively, the user we are working with is not in the group:<\/p>\n<pre class=\"brush:bash\">groups $(whoami)<\/pre>\n<p>And we will see that the <code>docker<\/code> group is not in the list. To add it, we can simply execute:<\/p>\n<pre class=\"brush:bash\">sudo usermod $(whoami) -G docker -a<\/pre>\n<p>(The <code>-G<\/code> option is for secondary groups; and the <code>-a<\/code> is for appending to the existing ones).<\/p>\n<p>If we check again the groups, we will see that now the <code>docker<\/code> group is in the list. But, before anything, we have to restart the session, to make the change work.<\/p>\n<p>After re-logging in again, we will see that we can run Docker without the need of root permissions:<\/p>\n<pre class=\"brush:bash\">docker pull busybox # It works!<\/pre>\n<h2>3. Basic usage<\/h2>\n<p>Now that we have Docker running, we will see the most basic things we can do with it.<\/p>\n<h3>3.1. Pulling images<\/h3>\n<p>The Docker community is so big. There is a huge number of preconfigured images, many of them maintained by the official developers of the software in question (e.g. MySQL, Nginx, Jenkins, and a large etc.).<\/p>\n<p>These images can be found at <a href=\"https:\/\/hub.docker.com\">Docker Hub<\/a>. You don&#8217;t have to create an account to pull the images from there, but you will need one if you want to host your images.<\/p>\n<p>We already have seen how to pull images. For those official images, we just have to specify the name of the repository:<\/p>\n<pre class=\"brush:bash\">docker pull &lt;repository&gt;<\/pre>\n<p>For images of other users, we have to specify the username:<\/p>\n<pre class=\"brush:bash\">docker pull &lt;username&gt;\/&lt;repository&gt;<\/pre>\n<p>By default, the latest image in the repository will be pulled (you have probably already the &#8220;<em>Using default tag: latest<\/em>&#8221; message if you have pulled the BusyBox image). But we can also pull a specific image, specified by a version tag. For that, we just have to append the tag in question after a colon:<\/p>\n<pre class=\"brush:bash\">docker pull &lt;username&gt;\/&lt;repository&gt;:&lt;tag&gt;<\/pre>\n<p>For example:<\/p>\n<pre class=\"brush:bash\">docker pull busybox:1.25.0<\/pre>\n<p><strong>Note:<\/strong> to see the images you have, you can use the <code>images<\/code> command:<\/p>\n<pre class=\"brush:bash\">docker images<\/pre>\n<h3>3.2. Creating images from Dockerfiles<\/h3>\n<p>Creating files known as <em>Dockerfiles<\/em> is the way of creating our custom images, basing on an existing one.<\/p>\n<p>It only consists on writing the steps to execute in a file, like in shell scripts, or scripts for Software Configuration Management tools (Ansible, Chef, etc.).<\/p>\n<p>Let&#8217;s suppose that we need a simple Ubuntu image, but for which we will need Nginx. Instead of pulling the Ubuntu image, accessing it via CLI, and installing Nginx, we can write a Dockerfile for being able to build that image just with one command.<\/p>\n<p>A Dockerfile for this would look like:<\/p>\n<pre class=\"brush:bash\">FROM ubuntu\r\nMAINTAINER Julen Pardo &lt;julen.pardo@outlook.es&gt;\r\n\r\nUSER root\r\n\r\nRUN DEBIAN_FRONTEND=noninteractive apt-get update\r\nRUN DEBIAN_FRONTEND=noninteractive apt-get install -y nginx<\/pre>\n<p>We specify the base image with <code>FROM<\/code>; we optionally set the maintainer of the Dockerfile just in an informative way; we specify the <code>USER<\/code> used to perform the actions; and we run the commands, setting the Docker <code>DEBIAN_FRONTEND<\/code> environmental variable to <code>noninteractive<\/code>, for telling <code>apt-get<\/code> not to run interactively.<\/p>\n<p>Note that building Dockerfiles can be quite different from just pulling images; this was the most basic example to see how they work.<\/p>\n<p>For building an image from a Dockerfile, we have to execute the <code>build<\/code> command:<\/p>\n<pre class=\"brush:bash\">docker build path\/to\/dockerfile<\/pre>\n<p>Specifying the path to the Dockerfile. Docker expects a Dockerfile named <code>Dockerfile<\/code>, so, note that we cannot have more than one Dockerfile in the same directory.<\/p>\n<h3>3.3 Creating containers<\/h3>\n<p>We have seen how to pull images and create our own ones, but not how to use them.<\/p>\n<p>When we use an image, i.e., we <strong>instantiate<\/strong> it, we create a container. We can have several containers from the same image. The concept is almost the same as with class and objects in Object Oriented Programming.<\/p>\n<p>For creating containers, we use the <code>run<\/code> command. The easiest way is to execute it just specifying the image:<\/p>\n<pre class=\"brush:bash\">docker run busybox<\/pre>\n<p>Nothing seemed to happen. But, behind the scenes, Docker has created a container from the image, execute it, and then end it, as we didn&#8217;t specify nothing to do.<\/p>\n<p>We can execute a command inside the container:<\/p>\n<pre class=\"brush:bash\">docker run busybox echo \"Hello world!\"<\/pre>\n<p>Not very impressive, right? But imagine doing so with a virtual machine, and compare how much time takes each one.<\/p>\n<p>We can also set an interactive shell with <code>-it<\/code> option:<\/p>\n<pre class=\"brush:bash\">docker run -it busybox<\/pre>\n<p>To see a more complete example, we are going to pull the Nginx image:<\/p>\n<pre class=\"brush:bash\">docker pull nginx<\/pre>\n<p>And then we are going to run it with the following command:<\/p>\n<pre class=\"brush:bash\">docker run -p 8080:80 -d nginx<\/pre>\n<p>And, if we follow <code>localhost:8080<\/code> in our browser, we will see that we have a dockerized Nginx web server!<\/p>\n<figure style=\"width: 686px\" class=\"wp-caption aligncenter\"><img decoding=\"async\" src=\"http:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2016\/09\/Nginx-Docker.jpg\" width=\"686\" height=\"376\" \/><figcaption class=\"wp-caption-text\">Running Nginx in a Docker container.<\/figcaption><\/figure>\n<p>Let&#8217;s explain what we have done:<\/p>\n<ul>\n<li>With <code>-p 8080:80<\/code>, we have binded to the host&#8217;s port 8080, the container&#8217;s port 80.<\/li>\n<li>With <code>-d<\/code> option, we have detached the container to run it in the background, receiving its id.<\/li>\n<\/ul>\n<p>With this example, you already should have noticed the powerfulness of Docker.<\/p>\n<p><strong>Note<\/strong><strong>:<\/strong> to stop a container, we can execute the <code>stop<\/code> command followed by the container id:<\/p>\n<pre class=\"brush:bash\">docker stop &lt;container-id&gt;<\/pre>\n<h2>4. Summary<\/h2>\n<p>In this tutorial we have seen the installation of Docker in Ubuntu and its very basic configuration. Apart from that, we have also seen the basic usage of Docker, pulling images from the Docker Hub and creating containers from these images.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Docker is, without any doubt, on of the most popular software at the moment, being used by almost every web developer and systems administrator. In this tutorial, we will see how to install it in Ubuntu systems. For this tutorial, we will use Linux Mint 18 (an Ubuntu based Linux distribution) 64-bit version. 1. Prerequisites &hellip;<\/p>\n","protected":false},"author":160,"featured_media":10356,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[17],"tags":[217],"class_list":["post-14730","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>Install Docker on Ubuntu Tutorial - Web Code Geeks - 2026<\/title>\n<meta name=\"description\" content=\"Docker is, without any doubt, on of the most popular software at the moment, being used by almost every web developer and systems administrator. In this\" \/>\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\/install-docker-ubuntu-tutorial\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Install Docker on Ubuntu Tutorial - Web Code Geeks - 2026\" \/>\n<meta property=\"og:description\" content=\"Docker is, without any doubt, on of the most popular software at the moment, being used by almost every web developer and systems administrator. In this\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.webcodegeeks.com\/devops\/install-docker-ubuntu-tutorial\/\" \/>\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-09-30T13:15:52+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2017-12-19T10:27:19+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=\"Toni\" \/>\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=\"Toni\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"7 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.webcodegeeks.com\/devops\/install-docker-ubuntu-tutorial\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.webcodegeeks.com\/devops\/install-docker-ubuntu-tutorial\/\"},\"author\":{\"name\":\"Toni\",\"@id\":\"https:\/\/www.webcodegeeks.com\/#\/schema\/person\/54a7be647b0b871cff41cbf3d2a95966\"},\"headline\":\"Install Docker on Ubuntu Tutorial\",\"datePublished\":\"2016-09-30T13:15:52+00:00\",\"dateModified\":\"2017-12-19T10:27:19+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.webcodegeeks.com\/devops\/install-docker-ubuntu-tutorial\/\"},\"wordCount\":1184,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.webcodegeeks.com\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.webcodegeeks.com\/devops\/install-docker-ubuntu-tutorial\/#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\/install-docker-ubuntu-tutorial\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.webcodegeeks.com\/devops\/install-docker-ubuntu-tutorial\/\",\"url\":\"https:\/\/www.webcodegeeks.com\/devops\/install-docker-ubuntu-tutorial\/\",\"name\":\"Install Docker on Ubuntu Tutorial - Web Code Geeks - 2026\",\"isPartOf\":{\"@id\":\"https:\/\/www.webcodegeeks.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.webcodegeeks.com\/devops\/install-docker-ubuntu-tutorial\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.webcodegeeks.com\/devops\/install-docker-ubuntu-tutorial\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2016\/01\/docker-logo.jpg\",\"datePublished\":\"2016-09-30T13:15:52+00:00\",\"dateModified\":\"2017-12-19T10:27:19+00:00\",\"description\":\"Docker is, without any doubt, on of the most popular software at the moment, being used by almost every web developer and systems administrator. In this\",\"breadcrumb\":{\"@id\":\"https:\/\/www.webcodegeeks.com\/devops\/install-docker-ubuntu-tutorial\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.webcodegeeks.com\/devops\/install-docker-ubuntu-tutorial\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.webcodegeeks.com\/devops\/install-docker-ubuntu-tutorial\/#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\/install-docker-ubuntu-tutorial\/#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\":\"Install Docker on Ubuntu Tutorial\"}]},{\"@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\/54a7be647b0b871cff41cbf3d2a95966\",\"name\":\"Toni\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.webcodegeeks.com\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/21c1661474c78b4757355b8beef9ab1d14f490ee3a3e67392f4e618d36643d4c?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/21c1661474c78b4757355b8beef9ab1d14f490ee3a3e67392f4e618d36643d4c?s=96&d=mm&r=g\",\"caption\":\"Toni\"},\"url\":\"https:\/\/www.webcodegeeks.com\/author\/julen-pardo\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Install Docker on Ubuntu Tutorial - Web Code Geeks - 2026","description":"Docker is, without any doubt, on of the most popular software at the moment, being used by almost every web developer and systems administrator. In this","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\/install-docker-ubuntu-tutorial\/","og_locale":"en_US","og_type":"article","og_title":"Install Docker on Ubuntu Tutorial - Web Code Geeks - 2026","og_description":"Docker is, without any doubt, on of the most popular software at the moment, being used by almost every web developer and systems administrator. In this","og_url":"https:\/\/www.webcodegeeks.com\/devops\/install-docker-ubuntu-tutorial\/","og_site_name":"Web Code Geeks","article_publisher":"https:\/\/www.facebook.com\/webcodegeeks","article_published_time":"2016-09-30T13:15:52+00:00","article_modified_time":"2017-12-19T10:27:19+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":"Toni","twitter_card":"summary_large_image","twitter_creator":"@webcodegeeks","twitter_site":"@webcodegeeks","twitter_misc":{"Written by":"Toni","Est. reading time":"7 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.webcodegeeks.com\/devops\/install-docker-ubuntu-tutorial\/#article","isPartOf":{"@id":"https:\/\/www.webcodegeeks.com\/devops\/install-docker-ubuntu-tutorial\/"},"author":{"name":"Toni","@id":"https:\/\/www.webcodegeeks.com\/#\/schema\/person\/54a7be647b0b871cff41cbf3d2a95966"},"headline":"Install Docker on Ubuntu Tutorial","datePublished":"2016-09-30T13:15:52+00:00","dateModified":"2017-12-19T10:27:19+00:00","mainEntityOfPage":{"@id":"https:\/\/www.webcodegeeks.com\/devops\/install-docker-ubuntu-tutorial\/"},"wordCount":1184,"commentCount":0,"publisher":{"@id":"https:\/\/www.webcodegeeks.com\/#organization"},"image":{"@id":"https:\/\/www.webcodegeeks.com\/devops\/install-docker-ubuntu-tutorial\/#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\/install-docker-ubuntu-tutorial\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.webcodegeeks.com\/devops\/install-docker-ubuntu-tutorial\/","url":"https:\/\/www.webcodegeeks.com\/devops\/install-docker-ubuntu-tutorial\/","name":"Install Docker on Ubuntu Tutorial - Web Code Geeks - 2026","isPartOf":{"@id":"https:\/\/www.webcodegeeks.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.webcodegeeks.com\/devops\/install-docker-ubuntu-tutorial\/#primaryimage"},"image":{"@id":"https:\/\/www.webcodegeeks.com\/devops\/install-docker-ubuntu-tutorial\/#primaryimage"},"thumbnailUrl":"https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2016\/01\/docker-logo.jpg","datePublished":"2016-09-30T13:15:52+00:00","dateModified":"2017-12-19T10:27:19+00:00","description":"Docker is, without any doubt, on of the most popular software at the moment, being used by almost every web developer and systems administrator. In this","breadcrumb":{"@id":"https:\/\/www.webcodegeeks.com\/devops\/install-docker-ubuntu-tutorial\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.webcodegeeks.com\/devops\/install-docker-ubuntu-tutorial\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.webcodegeeks.com\/devops\/install-docker-ubuntu-tutorial\/#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\/install-docker-ubuntu-tutorial\/#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":"Install Docker on Ubuntu Tutorial"}]},{"@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\/54a7be647b0b871cff41cbf3d2a95966","name":"Toni","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.webcodegeeks.com\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/21c1661474c78b4757355b8beef9ab1d14f490ee3a3e67392f4e618d36643d4c?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/21c1661474c78b4757355b8beef9ab1d14f490ee3a3e67392f4e618d36643d4c?s=96&d=mm&r=g","caption":"Toni"},"url":"https:\/\/www.webcodegeeks.com\/author\/julen-pardo\/"}]}},"_links":{"self":[{"href":"https:\/\/www.webcodegeeks.com\/wp-json\/wp\/v2\/posts\/14730","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\/160"}],"replies":[{"embeddable":true,"href":"https:\/\/www.webcodegeeks.com\/wp-json\/wp\/v2\/comments?post=14730"}],"version-history":[{"count":0,"href":"https:\/\/www.webcodegeeks.com\/wp-json\/wp\/v2\/posts\/14730\/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=14730"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.webcodegeeks.com\/wp-json\/wp\/v2\/categories?post=14730"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.webcodegeeks.com\/wp-json\/wp\/v2\/tags?post=14730"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}