{"id":955,"date":"2018-11-29T18:13:00","date_gmt":"2018-11-29T18:13:00","guid":{"rendered":"https:\/\/draculaservers.com\/tutorials\/?p=955"},"modified":"2021-11-14T23:01:02","modified_gmt":"2021-11-14T23:01:02","slug":"install-docker-ubuntu-18-04","status":"publish","type":"post","link":"https:\/\/draculaservers.com\/tutorials\/install-docker-ubuntu-18-04\/","title":{"rendered":"How to Install &#038; Use Docker on Ubuntu 18.04"},"content":{"rendered":"<h2 id=\"introduction\">Introduction<\/h2>\n<h3 id=\"what-is-docker\">What is Docker?<\/h3>\n<p>Docker is an open source container based technology.<\/p>\n<p>What is a Container?<\/p>\n<p>To more easily explain what containers are, let&#8217;s compare them to Virtual Machines:<\/p>\n<ul>\n<li>A <strong>Virtual Machine<\/strong> includes the application, the necessary binaries and libraries and a guest operating system. This means that it tries to do everything a computer has to do, which is quite resource intensive.<\/li>\n<li>A <strong>Container<\/strong> is different from a Virtual Machine. It&#8217;s like a box that includes the application and all the dependencies associate with it, but shares the host operating system&#8217;s <strong>kernel<\/strong>. You can think of it as a lightweight server that contains <strong>just enough<\/strong> for it to be whatever it needs to be.<\/li>\n<\/ul>\n<blockquote class=\"note\"><p><small><strong>&#8220;The Kernel&#8221;<\/strong> of an operating system is a collection of software that is the minimum needed to run various hardware. It has complete access and control over everything in and pertaining to the system and is the first thing loaded of your system. It also contains drivers, the bits of code that communicate with and control hardware. [ref: <a href=\"https:\/\/www.reddit.com\/r\/explainlikeimfive\/comments\/5u2nkx\/eli5_what_is_a_linux_kernel\/\" target=\"_blank\" rel=\"noopener\">\/r\/explainlikeimfive<\/a> ]<\/small><\/p><\/blockquote>\n\n<h3 id=\"why-use-docker\">Why use Docker?<\/h3>\n<p>In short, with Docker, only our application and it&#8217;s dependencies are contained, which makes it extremely fast and extremely portable, and we don&#8217;t have to worry about the OS.<\/p>\n<h2 id=\"step-1-installing-docker-on-ubuntu\">Step 1 \u2014 Installing Docker on Ubuntu<\/h2>\n<p>Update your package index:<\/p>\n<pre><code>$ sudo apt update<\/code><\/pre>\n<p>Install the necessary packages so <code>apt<\/code> can use packages over HTTPS:<\/p>\n<pre><code>$ sudo apt install apt-transport-https ca-certificates curl software-properties-common<\/code><\/pre>\n<p>Add the official Docker repository&#8217;s GPG key to your system:<\/p>\n<pre><code>$ curl -fsSL https:\/\/download.docker.com\/linux\/ubuntu\/gpg | sudo apt-key add -<\/code><\/pre>\n<p>Add the Docker APT repository to your system&#8217;s APT sources:<\/p>\n<pre><code>$ sudo add-apt-repository \"deb [arch=amd64] https:\/\/download.docker.com\/linux\/ubuntu bionic stable\"<\/code><\/pre>\n<p>Update your list of packages again, since we just added the Docker repository:<\/p>\n<pre><code>$ sudo apt update<\/code><\/pre>\n<p>Now we can install the latest version of Docker CE (Community Edition):<\/p>\n<pre><code>$ sudo apt install docker-ce<\/code><\/pre>\n<p>After the installation is complete, the Docker service will start automatically. You can check it&#8217;s status by running the following command:<\/p>\n<pre><code>$ sudo systemctl status docker<\/code><\/pre>\n<p>The output will look something like this:<\/p>\n<div class=\"showyourterms regular nostatusbar\" data-title=\"vlad@dracula:~$\">\n<div class=\"command blue\" data-action=\"command\" data-delay=\"400\" data-speed=\"50\">sudo&nbsp;systemctl&nbsp;status&nbsp;docker<\/div><div class=\"line\" data-delay=\"10\" data-speed=\"50\">\u25cf&nbsp;docker.service&nbsp;--&nbsp;Docker&nbsp;Application&nbsp;Container&nbsp;Engine<\/div><div class=\"line\" data-delay=\"10\" data-speed=\"50\">Loaded:&nbsp;loaded&nbsp;(\/lib\/systemd\/system\/docker.service;&nbsp;enabled;&nbsp;vendor&nbsp;preset:&nbsp;enabled)<\/div><div class=\"line\" data-delay=\"10\" data-speed=\"50\">Active:&nbsp;active&nbsp;(running)&nbsp;since&nbsp;Sun&nbsp;2018-11-25&nbsp;09:25:30&nbsp;PST;&nbsp;44min&nbsp;ago<\/div><div class=\"line\" data-delay=\"10\" data-speed=\"50\">Docs:&nbsp;https:\/\/docs.docker.com<\/div><div class=\"line\" data-delay=\"10\" data-speed=\"50\">Main&nbsp;PID:&nbsp;442&nbsp;(dockerd)<\/div><div class=\"line\" data-delay=\"10\" data-speed=\"50\">Tasks:&nbsp;19<\/div><div class=\"line\" data-delay=\"10\" data-speed=\"50\">CGroup:&nbsp;\/system.slice\/docker.service<\/div><div class=\"line\" data-delay=\"10\" data-speed=\"50\">\u251c\u2500442&nbsp;\/usr\/bin\/dockerd&nbsp;-H&nbsp;fd:\/\/<\/div><div class=\"line\" data-delay=\"10\" data-speed=\"50\">\u2514\u2500470&nbsp;docker-containerd&nbsp;--config&nbsp;\/var\/run\/docker\/containerd\/containerd.toml<\/div><div class=\"line\" data-delay=\"10\" data-speed=\"50\">&#8230;<\/div><div class=\"line\" data-delay=\"10000\" data-speed=\"50\">lines&nbsp;1-19\/19&nbsp;(END)<\/div>   <\/div>\n<blockquote class=\"note\"><p><small>If you find that the terminal is locked in the <code>systemctl<\/code> command&#8217;s output as it displays the status information of the requested service ( <strong>docker<\/strong> in this case ), then just press <code>q<\/code> to quit.<\/small><\/p><\/blockquote>\n<p>You&#8217;ve now installed Docker. This gives you the Docker service and also the Docker Client, or <code>docker<\/code> command line utility. We can start using the <code>docker<\/code> command to check our Docker version. Here&#8217;s my version at the time of writing:<\/p>\n<div class=\"showyourterms regular nostatusbar\" data-title=\"vlad@dracula:~$\">\n<div class=\"command blue\" data-action=\"command\" data-delay=\"400\" data-speed=\"50\">docker&nbsp;-v<\/div><div class=\"line\" data-delay=\"10000\" data-speed=\"50\">Docker&nbsp;version&nbsp;18.09.0,&nbsp;build&nbsp;4d60db4<\/div>   <\/div>\n<h2 id=\"step-2-allowing-non-sudo-access-optional\">Step 2 \u2014 Allowing Non-sudo Access (Optional)<\/h2>\n<p>This step is optional.<\/p>\n<p>If you&#8217;d like to execute the <code>docker<\/code> command without being <code>root<\/code> or always prefixing it with <code>sudo<\/code>, then you&#8217;ll have to add your username to the <code>docker group<\/code>:<\/p>\n<pre><code>$ sudo usermod -aG docker your_username<\/code><\/pre>\n<p>To apply the new membership, you&#8217;ll have to log out of your current user by typing <code>exit<\/code> or <code>CTRL+D<\/code> and logging back in. You can then test if the changes applied by checking if the user is now part of the <strong>docker<\/strong> group:<\/p>\n<pre><code>$ id -nG<\/code><\/pre>\n<div class=\"showyourterms regular nostatusbar\" data-title=\"Output\">\n<div class=\"command blue\" data-action=\"command\" data-delay=\"400\" data-speed=\"50\">id&nbsp;-nG<\/div><div class=\"line\" data-delay=\"10000\" data-speed=\"50\">vlad&nbsp;sudo&nbsp;docker<\/div>   <\/div>\n<blockquote class=\"note\"><p><small><strong>NOTE:<\/strong> In the rest of this tutorial we&#8217;ll assume that you&#8217;re running the <code>docker<\/code> command as a user that&#8217;s not part of the <code>docker<\/code> group, so we will prefix <code>sudo<\/code> for every command, but you don&#8217;t have to if you&#8217;ve added your current user to the <code>docker<\/code> group. <\/small><\/p>\n<p><small> <\/small><small>The reason we continue this way is because some readers may just scan this tutorial for commands.<\/small><\/p><\/blockquote>\n<h2 id=\"step-3-docker-command-basics\">Step 3 \u2014 Docker Command Basics<\/h2>\n<p>The <code>docker<\/code> command has the following structure:<\/p>\n<pre><code>$ sudo docker [option] [command] [arguments]<\/code><\/pre>\n<p>To view all the available commands, just run:<\/p>\n<pre><code>$ sudo docker<\/code><\/pre>\n<p>The list of commands and subcommands in Docker 18 includes:<\/p>\n<pre><code>  attach      Attach local standard input, output, and error streams to a running container\n  build       Build an image from a Dockerfile\n  commit      Create a new image from a container's changes\n  cp          Copy files\/folders between a container and the local filesystem\n  create      Create a new container\n  diff        Inspect changes to files or directories on a container's filesystem\n  events      Get real time events from the server\n  exec        Run a command in a running container\n  export      Export a container's filesystem as a tar archive\n  history     Show the history of an image\n  images      List images\n  import      Import the contents from a tarball to create a filesystem image\n  info        Display system-wide information\n  inspect     Return low-level information on Docker objects\n  kill        Kill one or more running containers\n  load        Load an image from a tar archive or STDIN\n  login       Log in to a Docker registry\n  logout      Log out from a Docker registry\n  logs        Fetch the logs of a container\n  pause       Pause all processes within one or more containers\n  port        List port mappings or a specific mapping for the container\n  ps          List containers\n  pull        Pull an image or a repository from a registry\n  push        Push an image or a repository to a registry\n  rename      Rename a container\n  restart     Restart one or more containers\n  rm          Remove one or more containers\n  rmi         Remove one or more images\n  run         Run a command in a new container\n  save        Save one or more images to a tar archive (streamed to STDOUT by default)\n  search      Search the Docker Hub for images\n  start       Start one or more stopped containers\n  stats       Display a live stream of container(s) resource usage statistics\n  stop        Stop one or more running containers\n  tag         Create a tag TARGET_IMAGE that refers to SOURCE_IMAGE\n  top         Display the running processes of a container\n  unpause     Unpause all processes within one or more containers\n  update      Update configuration of one or more containers\n  version     Show the Docker version information\n  wait        Block until one or more containers stop, then print their exit codes<\/code><\/pre>\n<p>To get help on a specific [subcommand] then just run:<\/p>\n<pre><code>$ sudo docker docker-subcommand --help<\/code><\/pre>\n<p>For system-wide information on Docker, run:<\/p>\n<pre><code>$ sudo docker info<\/code><\/pre>\n<h2 id=\"step-4-intro-to-docker-images\">Step 4 \u2014 Intro to Docker Images<\/h2>\n<p><strong>Docker containers<\/strong> are built from <strong>Docker images<\/strong>.<\/p>\n<p>What is a Docker image? To put it simply, a Docker image is basically a template that you use for your container. It&#8217;s a binary that includes all the requirements and instructions necessary to run a Docker container.<\/p>\n<p>Most images are kept at <a href=\"https:\/\/hub.docker.com\/\" target=\"_blank\" rel=\"noopener\">Docker Hub<\/a>, which is a Docker registry managed by <strong>Docker<\/strong>, the company behind the Docker project. By default, Docker is configured to automatically pull images from there when you request them. It&#8217;s easy to use and a great resource featuring excellent Docker images. There you&#8217;ll find most applications and Linux distributions that you need.<\/p>\n<p>Check if you have access and can download images from Docker Hub with the mandatory <code>hello world<\/code> example:<\/p>\n<pre><code>$ sudo docker run hello-world<\/code><\/pre>\n<p>The output will look something like this:<\/p>\n<div class=\"showyourterms regular nostatusbar\" data-title=\"vlad@dracula:~$\">\n<div class=\"command blue\" data-action=\"command\" data-delay=\"400\" data-speed=\"50\">sudo&nbsp;docker&nbsp;run&nbsp;hello-world<\/div><div class=\"line\" data-delay=\"10\" data-speed=\"50\">Unable&nbsp;to&nbsp;find&nbsp;image&nbsp;&#8216;hello-world:latest&#8217;&nbsp;locally<\/div><div class=\"line\" data-delay=\"10\" data-speed=\"50\">latest:&nbsp;Pulling&nbsp;from&nbsp;library\/hello-world<\/div><div class=\"line\" data-delay=\"10\" data-speed=\"50\">d1725b59e92d:&nbsp;Pull&nbsp;complete<\/div><div class=\"line\" data-delay=\"10\" data-speed=\"50\">Digest:&nbsp;sha256:0add3ace90ecb4adbf7777e9aacf18357296e799f81cabc9fde470971e499788<\/div><div class=\"line\" data-delay=\"10\" data-speed=\"50\">Status:&nbsp;Downloaded&nbsp;newer&nbsp;image&nbsp;for&nbsp;hello-world:latest<\/div><div class=\"line\" data-delay=\"10\" data-speed=\"50\">Hello&nbsp;from&nbsp;Docker!<\/div><div class=\"line\" data-delay=\"10\" data-speed=\"50\">This&nbsp;message&nbsp;shows&nbsp;that&nbsp;your&nbsp;installation&nbsp;appears&nbsp;to&nbsp;be&nbsp;working&nbsp;correctly.<\/div><div class=\"line\" data-delay=\"10000\" data-speed=\"50\">&#8230;<\/div>   <\/div>\n<p>As you may tell from the output, <code>docker<\/code> was initially unable to find the <code>hello-world<\/code> image locally, so it downloaded it from Docker Hub, created a container from it, and ran the application within the container, which displayed the <code>Hello from Docker [...]<\/code> message.<\/p>\n<h3 id=\"searching-for-docker-images\">Searching for Docker Images<\/h3>\n<p>You can also search for various images, using the <code>search<\/code> subcommand. The script will search Docker Hub and list all images matching the string you used:<\/p>\n<pre><code>$ sudo docker search wordpress<\/code><\/pre>\n<p><small>Output<\/small><\/p>\n<pre><code>$ sudo docker search wordpress\nNAME                                                DESCRIPTION                                     STARS               OFFICIAL            AUTOMATED\nwordpress                                           The WordPress rich content management system\u2026   2652                [OK]                \nbitnami\/wordpress                                   Bitnami Docker Image for WordPress              95                                      [OK]\nappcontainers\/wordpress                             Centos\/Debian Based Customizable WordPress C\u2026   34                                      [OK]\netopian\/alpine-php-wordpress                        Alpine WordPress Nginx PHP-FPM WP-CLI           18                                      [OK]\ncenturylink\/wordpress                               WordPress image with MySQL removed.             14                                      [OK]\nraulr\/nginx-wordpress                               Nginx front-end for the official wordpress:f\u2026   11                                      [OK]\n1and1internet\/ubuntu-16-nginx-php-5.6-wordpress-4   ubuntu-16-nginx-php-5.6-wordpress-4             6                                       [OK]\ndalareo\/wordpress-ldap                              WordPress images with LDAP support automatic\u2026   6                                       [OK]\nwithinboredom\/scalable-wordpress                    An easy to scale WordPress                      5                                       [OK]\n1and1internet\/ubuntu-16-nginx-php-7.1-wordpress-4   ubuntu-16-nginx-php-7.1-wordpress-4             3                                       [OK]\njulianxhokaxhiu\/docker-awesome-wordpress            A Docker that combines all the most awesome \u2026   2                                       [OK]\nwodby\/wordpress-nginx                               Nginx for WordPress                             2                                       [OK]\ngwee\/wordpress-sendmail-docker                      wordpress with sendmail                         2                                       [OK]\nwodby\/wordpress-php                                 PHP for WordPress                               2                                       [OK]\ndsteinkopf\/wordpress                                wordpress clone plus some php extensions        1                                       [OK]\njulianxhokaxhiu\/docker-wordpress-ldaps              WordPress Docker image with LDAPS support       1                                       [OK]\narm64v8\/wordpress                                   The WordPress rich content management system\u2026   1                                       \nbakudankun\/wordpress-ja                             WordPress Japanese Edition forked from offic\u2026   1                                       [OK]\nowncloud\/wordpress                                  WordPress image for ownCloud websites           1                                       \napsl\/wordpress                                      WordPress on LAMP managed with circus. Wordp\u2026   1                                       [OK]\ndavask\/d-wordpress                                  Dockerfile for wordpress                        0                                       [OK]\nitherz\/wordpress                                    WordPress                                       0                                       [OK]\nerikzenker\/wordpress                                wordpress docker image                          0                                       \nansibleplaybookbundle\/wordpress-ha-apb              An APB which deploys WordPress HA               0                                       [OK]\nmattti\/wordpress                                    WordPress adjusted to my own needs              0                                       [OK]\n<\/code><\/pre>\n<blockquote class=\"note\"><p><small><strong>OK<\/strong> in the <strong>OFFICIAL<\/strong> column indicates that the image is created and supported by the company behind the software<\/small><\/p><\/blockquote>\n<h3 id=\"downloading-pulling-docker-images\">Downloading (Pulling) Docker Images<\/h3>\n<p>If you decide what image you want to use, you can download it to your machine by using the <code>pull<\/code> subcommand.<\/p>\n<p>For example, we&#8217;ll download the official <strong>WordPress<\/strong> image. To do this run:<\/p>\n<pre><code>$ sudo docker pull wordpress<\/code><\/pre>\n<p>After it finishes downloading the image, the output will look something like this:<\/p>\n<pre><code>$ sudo docker pull centos\nUsing default tag: latest\nlatest: Pulling from library\/centos\naeb7866da422: Pull complete \nDigest: sha256:67dad89757a55bfdfabec8abd0e22f8c7c12a1856514726470228063ed86593b\nStatus: Downloaded newer image for centos:latest<\/code><\/pre>\n<p>After the image is downloaded, you can run a container using it using the <code>run<\/code> command, as we&#8217;ve done in the <code>hello-world<\/code> example. If the image has not yet been downloaded, Docker will attempt to pull it from Docker Hub, and then run a container using it.<\/p>\n<h3 id=\"listing-docker-images\">Listing Docker Images<\/h3>\n<p>To list all of our downloaded images just run:<\/p>\n<pre><code>$ sudo docker images<\/code><\/pre>\n<p><small>Example output<\/small><br \/>\n<div class=\"showyourterms regular nostatusbar\" data-title=\"vlad@dracula:~$\">\n<div class=\"command blue\" data-action=\"command\" data-delay=\"400\" data-speed=\"50\">sudo&nbsp;docker&nbsp;images<\/div><div class=\"line\" data-delay=\"10\" data-speed=\"50\">REPOSITORY&nbsp;TAG&nbsp;IMAGE&nbsp;ID&nbsp;CREATED&nbsp;SIZE<\/div><div class=\"line\" data-delay=\"10\" data-speed=\"50\">centos&nbsp;latest&nbsp;75835a67d134&nbsp;6&nbsp;weeks&nbsp;ago&nbsp;200MB<\/div><div class=\"line\" data-delay=\"10000\" data-speed=\"50\">hello-world&nbsp;latest&nbsp;4ab4c602aa5e&nbsp;2&nbsp;months&nbsp;ago&nbsp;1.84kB<\/div>   <\/div><\/p>\n<p>Further in this tutorial, we&#8217;ll see how downloaded images can be modified and generated into new images, which we can then upload to Docker Hub or other Docker registries.<\/p>\n<h2 id=\"step-5-intro-to-docker-containers\">Step 5 \u2014 Intro to Docker Containers<\/h2>\n<p>Earlier we played around with the <code>hello-world<\/code> container. We downloaded the image and used it to run the <code>hello-world<\/code> container which just displayed a message and exited after showing us the message. That was just a basic example. Docker containers can do more than that, and we can use them interactively, just like we would with a VPS, but much more resource friendly.<\/p>\n<p>Let&#8217;s see an example of how a container can be similar to a VPS. Given the fact that we&#8217;re using Ubuntu, let&#8217;s go a little crazy and run a container using the latest image of <strong>CentOS<\/strong>. Don&#8217;t worry if you&#8217;ve never used CentOS &#8211; what we&#8217;re doing is similar to what we&#8217;d do on Ubuntu.<\/p>\n<p>We&#8217;ll use the combination of the <code>-i<\/code> and <code>-t<\/code> switches to get interactive shell access to the container:<\/p>\n<pre><code>$ sudo docker run -it centos<\/code><\/pre>\n<p>Docker will most likely not find the image on your machine and pull it from Docker Hub. After it&#8217;s downloaded and the container is run, your command prompt will change, reflecting the fact that you&#8217;re working inside the container:<\/p>\n<pre><code>[root@35e04744a977 \/]#<\/code><\/pre>\n<p>The seemingly random sequence of letters and numbers, <code>35e04744a977<\/code>, represents the container ID. We use that to identify the container and need it should we want to remove the container.<\/p>\n<p>Now let&#8217;s run some basic commands, like update the package database inside the container. On CentOS, to do this, we use <code>yum<\/code> instead of <code>apt<\/code>. You also don&#8217;t need to use <code>sudo<\/code>, as you&#8217;re now acting as <code>root<\/code> in this container.<\/p>\n<pre><code># yum update<\/code><\/pre>\n<p>Now let&#8217;s install an application on it, such as <code>PHP<\/code>:<\/p>\n<pre><code># yum install php<\/code><\/pre>\n<p>When the installation, if I check the version, I get the following output:<\/p>\n<div class=\"showyourterms regular nostatusbar\" data-title=\"root@35e04744a977 \/#\">\n<div class=\"command red\" data-action=\"command\" data-delay=\"400\" data-speed=\"50\">php&nbsp;-v<\/div><div class=\"line\" data-delay=\"10\" data-speed=\"50\">PHP&nbsp;5.4.16&nbsp;(cli)&nbsp;(built:&nbsp;Apr&nbsp;12&nbsp;2018&nbsp;19:02:01)<\/div><div class=\"line\" data-delay=\"10\" data-speed=\"50\">Copyright&nbsp;(c)&nbsp;1997-2013&nbsp;The&nbsp;PHP&nbsp;Group<\/div><div class=\"line\" data-delay=\"10000\" data-speed=\"50\">Zend&nbsp;Engine&nbsp;v2.4.0,&nbsp;Copyright&nbsp;(c)&nbsp;1998-2013&nbsp;Zend&nbsp;Technologies<\/div>   <\/div>\n<p>Any changes you make in the container only apply to that container.<\/p>\n<p>To exit the container just run <code>exit<\/code>.<\/p>\n<h3 id=\"list-docker-containers\">List Docker Containers<\/h3>\n<p>After you&#8217;ve used Docker for a while, you&#8217;ll most likely be managing a few Docker containers, <strong>active<\/strong> and <strong>inactive<\/strong>.<\/p>\n<p>To view your <strong>active containers<\/strong> run the following:<\/p>\n<pre><code>$ sudo docker ps<\/code><\/pre>\n<p>Since we&#8217;ve got our demo containers inactive, we&#8217;ll get the following output:<\/p>\n<pre><code>CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES<\/code><\/pre>\n<p>So far we&#8217;ve run two containers. One from the <code>hello-world<\/code> image, and the other from the <code>centos<\/code> image, but now they&#8217;re both stopped.<\/p>\n<p>To view all of the containers, <strong>active<\/strong> and <strong>inactive<\/strong>, run the following:<\/p>\n<pre><code>$ sudo docker ps -a<\/code><\/pre>\n<p>This is the output I&#8217;m seeing:<\/p>\n<pre><code>CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                     PORTS               NAMES\n35e04744a977        centos              \"\/bin\/bash\"         6 hours ago         Exited (137) 3 hours ago                       pensive_northcutt\n82d53d646a6c        hello-world         \"\/hello\"            19 hours ago        Exited (0) 19 hours ago                        frosty_allen<\/code><\/pre>\n<p>To view the latest created container, run the following:<\/p>\n<pre><code>docker ps -l<\/code><\/pre>\n<p><small>Output<\/small><\/p>\n<pre><code>CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                     PORTS               NAMES\n35e04744a977        centos              \"\/bin\/bash\"         6 hours ago         Exited (137) 3 hours ago                       pensive_northcutt<\/code><\/pre>\n<h3 id=\"start-stop-docker-containers\">Start\/Stop Docker Containers<\/h3>\n<p>To <strong>start<\/strong> a stopped container use <code>docker start<\/code>, followed by the container&#8217;s ID (<code>35e04744a977<\/code>) or name (<code>pensive_northcutt<\/code>). In our example I&#8217;ll start by using its&#8217; name:<\/p>\n<pre><code>$ sudo docker start pensive_northcutt<\/code><\/pre>\n<p>Now let&#8217;s see if it started by listing our <strong>active<\/strong> containers:<\/p>\n<pre><code>$ sudo docker ps<\/code><\/pre>\n<p><small>Output<\/small><\/p>\n<pre><code>CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES\n35e04744a977        centos              \"\/bin\/bash\"         9 hours ago         Up 33 seconds                           pensive_northcutt<\/code><\/pre>\n<p>To stop the running container, you run <code>docker stop<\/code> followed by the container name or ID:<\/p>\n<pre><code>$ sudo docker stop pensive_northcutt<\/code><\/pre>\n<h3 id=\"useful-basic-docker-commands\">Useful Basic Docker Commands<\/h3>\n<p><strong>Running commands inside an active<\/strong><\/p>\n<p>When you use <code>docker start<\/code> you&#8217;ll notice that it&#8217;s started, but you&#8217;re not interacting with it, such as when you first ran it. To run commands inside it, you can use <code>docker exec -it<\/code>, followed by the ID or name of the container, and followed by <code>\/bin\/bash<\/code>. You&#8217;ll notice your prompt change, letting you know that you&#8217;ve opened up a new terminal in it:<\/p>\n<div class=\"showyourterms regular nostatusbar\" data-title=\"vlad@dracula:~$\">\n<div class=\"command blue\" data-action=\"command\" data-delay=\"400\" data-speed=\"50\">sudo&nbsp;docker&nbsp;exec&nbsp;-it&nbsp;pensive_northcutt&nbsp;\/bin\/bash<\/div><div class=\"line\" data-delay=\"10000\" data-speed=\"50\">[root@35e04744a977&nbsp;\/]#<\/div>   <\/div>\n<p>The <code>-t<\/code> switch opens a terminal, the <code>-i<\/code> switch makes it interactive, and the <code>\/bin\/bash<\/code> option opens a bash shell to the running container.<\/p>\n<p><strong>Exit a container without stopping it<\/strong><\/p>\n<p>You may find yourself needing to exit the container but wanting it to remain active. To do this, you can type <code>Ctrl+P<\/code> followed by <code>Ctrl+Q<\/code>. You&#8217;ll see something like the following output:<\/p>\n<pre><code>[root@35e04744a977 \/]# read escape sequence<\/code><\/pre>\n<p><strong>Renaming a container<\/strong><\/p>\n<p>To rename a container, you can use <code>docker rename<\/code>, followed by the current name or ID of the container, and then the desired name.<\/p>\n<p>For example, to better organize my containers, I may want to rename my container named <code>pensive_northcutt<\/code> to a name similar to the naming convention that Docker seems to use, so I&#8217;ll call it <code>mr_tiny_nipples<\/code>.<\/p>\n<pre><code>$ sudo docker rename pensive_northcutt mr_tiny_nipples<\/code><\/pre>\n<p>If I run <code>sudo docker ps<\/code> (because my container is still active), I get the output:<\/p>\n<pre><code>CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES\n35e04744a977        centos              \"\/bin\/bash\"         10 hours ago        Up 8 minutes                            mr_tiny_nipples<\/code><\/pre>\n<p>Additionally, you can give a container a name of your choosing, when creating it, by using the <code>--name<\/code> switch.<\/p>\n<h3 id=\"remove-docker-containers\">Remove Docker Containers<\/h3>\n<p>When you no longer have use for a container you can remove it by using <code>docker rm<\/code>, followed by its&#8217; name or ID:<\/p>\n<pre><code>$ sudo rm mr_tiny_tipples<\/code><\/pre>\n<h2 id=\"conclusion\">Conclusion<\/h2>\n<p>In this tutorial, you&#8217;ve hopefully learned to install Docker and a little about using it and managing containers. We&#8217;ve just covered a few of the basics, however, and there&#8217;s a lot more you can do with it. There&#8217;s a reason some of the top companies in the world leverage Docker, and we&#8217;ll try to cover more in future tutorials.<\/p>\n<p>To learn more about Docker, we recommend that you check out the <a href=\"https:\/\/docs.docker.com\/\" target=\"_blank\" rel=\"noopener\">official Docker documentation<\/a>.<\/p>\n<p>Should you encounter any issues when following this tutorial, or would like specific aspects covered, don&#8217;t hesitate to contact us and we&#8217;ll get back to you as soon as possible.<\/p>\n<p>If you&#8217;re in need of a VPS to run Docker on, then feel free to check out our <a href=\"https:\/\/draculaservers.com\/kvm.php\">KVM SSD VPS plans<\/a>. Our VPS offer starts at 2GB RAM + 10GB SSD at only $5.99\/mo.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Introduction What is Docker? Docker is an open source container based technology. What is a Container? To more easily explain what containers are, let&#8217;s compare them to Virtual Machines: A Virtual Machine includes the application, the necessary binaries and libraries and a guest operating system. This means that it tries to do everything a computer [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":1035,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1,2,22],"tags":[45,46],"class_list":["post-955","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-getting-started","category-linux-basics","category-ubuntu","tag-docker","tag-virtualization"],"blocksy_meta":{"styles_descriptor":{"styles":{"desktop":"","tablet":"","mobile":""},"google_fonts":[],"version":6}},"featured_image_urls_v2":{"full":["https:\/\/draculaservers.com\/tutorials\/wp-content\/uploads\/2018\/11\/How-to-Install-Use-Docker-on-Ubuntu-18.04.png",1024,512,false],"thumbnail":["https:\/\/draculaservers.com\/tutorials\/wp-content\/uploads\/2018\/11\/How-to-Install-Use-Docker-on-Ubuntu-18.04-150x150.png",150,150,true],"medium":["https:\/\/draculaservers.com\/tutorials\/wp-content\/uploads\/2018\/11\/How-to-Install-Use-Docker-on-Ubuntu-18.04-300x150.png",300,150,true],"medium_large":["https:\/\/draculaservers.com\/tutorials\/wp-content\/uploads\/2018\/11\/How-to-Install-Use-Docker-on-Ubuntu-18.04-768x384.png",768,384,true],"large":["https:\/\/draculaservers.com\/tutorials\/wp-content\/uploads\/2018\/11\/How-to-Install-Use-Docker-on-Ubuntu-18.04.png",1024,512,false],"1536x1536":["https:\/\/draculaservers.com\/tutorials\/wp-content\/uploads\/2018\/11\/How-to-Install-Use-Docker-on-Ubuntu-18.04.png",1024,512,false],"2048x2048":["https:\/\/draculaservers.com\/tutorials\/wp-content\/uploads\/2018\/11\/How-to-Install-Use-Docker-on-Ubuntu-18.04.png",1024,512,false],"pk-small":["https:\/\/draculaservers.com\/tutorials\/wp-content\/uploads\/2018\/11\/How-to-Install-Use-Docker-on-Ubuntu-18.04-80x80.png",80,80,true],"pk-thumbnail":["https:\/\/draculaservers.com\/tutorials\/wp-content\/uploads\/2018\/11\/How-to-Install-Use-Docker-on-Ubuntu-18.04-300x225.png",300,225,true]},"post_excerpt_stackable_v2":"<p>Introduction What is Docker? Docker is an open source container based technology. What is a Container? To more easily explain what containers are, let&#8217;s compare them to Virtual Machines: A Virtual Machine includes the application, the necessary binaries and libraries and a guest operating system. This means that it tries to do everything a computer has to do, which is quite resource intensive. A Container is different from a Virtual Machine. It&#8217;s like a box that includes the application and all the dependencies associate with it, but shares the host operating system&#8217;s kernel. You can think of it as a&hellip;<\/p>\n","category_list_v2":"<a href=\"https:\/\/draculaservers.com\/tutorials\/category\/getting-started\/\" rel=\"category tag\">Getting Started<\/a>, <a href=\"https:\/\/draculaservers.com\/tutorials\/category\/linux-basics\/\" rel=\"category tag\">Linux Basics<\/a>, <a href=\"https:\/\/draculaservers.com\/tutorials\/category\/ubuntu\/\" rel=\"category tag\">Ubuntu<\/a>","author_info_v2":{"name":"Vlad","url":"https:\/\/draculaservers.com\/tutorials\/author\/vlad\/"},"comments_num_v2":"0 comments","yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>How to Install &amp; Use Docker on Ubuntu 18.04<\/title>\n<meta name=\"description\" content=\"Docker is an open source container based technology. In this tutorial we&#039;ll cover how to install Docker on Ubuntu 18.04 and work with images and containers.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/draculaservers.com\/tutorials\/install-docker-ubuntu-18-04\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"How to Install &amp; Use Docker on Ubuntu 18.04\" \/>\n<meta property=\"og:description\" content=\"Docker is an open source container based technology. In this tutorial we&#039;ll cover how to install Docker on Ubuntu 18.04 and work with images and containers.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/draculaservers.com\/tutorials\/install-docker-ubuntu-18-04\/\" \/>\n<meta property=\"og:site_name\" content=\"Dracula Servers Tutorials\" \/>\n<meta property=\"article:published_time\" content=\"2018-11-29T18:13:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2021-11-14T23:01:02+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/draculaservers.com\/tutorials\/wp-content\/uploads\/2018\/11\/How-to-Install-Use-Docker-on-Ubuntu-18.04.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1024\" \/>\n\t<meta property=\"og:image:height\" content=\"512\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Vlad\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Vlad\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"13 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/draculaservers.com\\\/tutorials\\\/install-docker-ubuntu-18-04\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/draculaservers.com\\\/tutorials\\\/install-docker-ubuntu-18-04\\\/\"},\"author\":{\"name\":\"Vlad\",\"@id\":\"https:\\\/\\\/draculaservers.com\\\/tutorials\\\/#\\\/schema\\\/person\\\/931f7fa8b2126ace6edfb82775e0ec0e\"},\"headline\":\"How to Install &#038; Use Docker on Ubuntu 18.04\",\"datePublished\":\"2018-11-29T18:13:00+00:00\",\"dateModified\":\"2021-11-14T23:01:02+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/draculaservers.com\\\/tutorials\\\/install-docker-ubuntu-18-04\\\/\"},\"wordCount\":1945,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/draculaservers.com\\\/tutorials\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/draculaservers.com\\\/tutorials\\\/install-docker-ubuntu-18-04\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/draculaservers.com\\\/tutorials\\\/wp-content\\\/uploads\\\/2018\\\/11\\\/How-to-Install-Use-Docker-on-Ubuntu-18.04.png\",\"keywords\":[\"Docker\",\"Virtualization\"],\"articleSection\":[\"Getting Started\",\"Linux Basics\",\"Ubuntu\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/draculaservers.com\\\/tutorials\\\/install-docker-ubuntu-18-04\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/draculaservers.com\\\/tutorials\\\/install-docker-ubuntu-18-04\\\/\",\"url\":\"https:\\\/\\\/draculaservers.com\\\/tutorials\\\/install-docker-ubuntu-18-04\\\/\",\"name\":\"How to Install & Use Docker on Ubuntu 18.04\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/draculaservers.com\\\/tutorials\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/draculaservers.com\\\/tutorials\\\/install-docker-ubuntu-18-04\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/draculaservers.com\\\/tutorials\\\/install-docker-ubuntu-18-04\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/draculaservers.com\\\/tutorials\\\/wp-content\\\/uploads\\\/2018\\\/11\\\/How-to-Install-Use-Docker-on-Ubuntu-18.04.png\",\"datePublished\":\"2018-11-29T18:13:00+00:00\",\"dateModified\":\"2021-11-14T23:01:02+00:00\",\"description\":\"Docker is an open source container based technology. In this tutorial we'll cover how to install Docker on Ubuntu 18.04 and work with images and containers.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/draculaservers.com\\\/tutorials\\\/install-docker-ubuntu-18-04\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/draculaservers.com\\\/tutorials\\\/install-docker-ubuntu-18-04\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/draculaservers.com\\\/tutorials\\\/install-docker-ubuntu-18-04\\\/#primaryimage\",\"url\":\"https:\\\/\\\/draculaservers.com\\\/tutorials\\\/wp-content\\\/uploads\\\/2018\\\/11\\\/How-to-Install-Use-Docker-on-Ubuntu-18.04.png\",\"contentUrl\":\"https:\\\/\\\/draculaservers.com\\\/tutorials\\\/wp-content\\\/uploads\\\/2018\\\/11\\\/How-to-Install-Use-Docker-on-Ubuntu-18.04.png\",\"width\":1024,\"height\":512,\"caption\":\"install_use_docker_ubuntu_18.04\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/draculaservers.com\\\/tutorials\\\/install-docker-ubuntu-18-04\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/draculaservers.com\\\/tutorials\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"How to Install &#038; Use Docker on Ubuntu 18.04\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/draculaservers.com\\\/tutorials\\\/#website\",\"url\":\"https:\\\/\\\/draculaservers.com\\\/tutorials\\\/\",\"name\":\"Dracula Servers Tutorials\",\"description\":\"Dedicated Servers\",\"publisher\":{\"@id\":\"https:\\\/\\\/draculaservers.com\\\/tutorials\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/draculaservers.com\\\/tutorials\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/draculaservers.com\\\/tutorials\\\/#organization\",\"name\":\"Dracula Servers\",\"url\":\"https:\\\/\\\/draculaservers.com\\\/tutorials\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/draculaservers.com\\\/tutorials\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/draculaservers.com\\\/tutorials\\\/wp-content\\\/uploads\\\/2016\\\/06\\\/dracula_full_logo_smaller.png\",\"contentUrl\":\"https:\\\/\\\/draculaservers.com\\\/tutorials\\\/wp-content\\\/uploads\\\/2016\\\/06\\\/dracula_full_logo_smaller.png\",\"width\":1625,\"height\":200,\"caption\":\"Dracula Servers\"},\"image\":{\"@id\":\"https:\\\/\\\/draculaservers.com\\\/tutorials\\\/#\\\/schema\\\/logo\\\/image\\\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/draculaservers.com\\\/tutorials\\\/#\\\/schema\\\/person\\\/931f7fa8b2126ace6edfb82775e0ec0e\",\"name\":\"Vlad\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/499c7a24aa9727703300a291f8f69dfd1b01b8d6a19a4ae4fbe669b4b12b8cbe?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/499c7a24aa9727703300a291f8f69dfd1b01b8d6a19a4ae4fbe669b4b12b8cbe?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/499c7a24aa9727703300a291f8f69dfd1b01b8d6a19a4ae4fbe669b4b12b8cbe?s=96&d=mm&r=g\",\"caption\":\"Vlad\"},\"description\":\"Tech Support\",\"sameAs\":[\"https:\\\/\\\/draculaservers.com\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"How to Install & Use Docker on Ubuntu 18.04","description":"Docker is an open source container based technology. In this tutorial we'll cover how to install Docker on Ubuntu 18.04 and work with images and containers.","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:\/\/draculaservers.com\/tutorials\/install-docker-ubuntu-18-04\/","og_locale":"en_US","og_type":"article","og_title":"How to Install & Use Docker on Ubuntu 18.04","og_description":"Docker is an open source container based technology. In this tutorial we'll cover how to install Docker on Ubuntu 18.04 and work with images and containers.","og_url":"https:\/\/draculaservers.com\/tutorials\/install-docker-ubuntu-18-04\/","og_site_name":"Dracula Servers Tutorials","article_published_time":"2018-11-29T18:13:00+00:00","article_modified_time":"2021-11-14T23:01:02+00:00","og_image":[{"width":1024,"height":512,"url":"https:\/\/draculaservers.com\/tutorials\/wp-content\/uploads\/2018\/11\/How-to-Install-Use-Docker-on-Ubuntu-18.04.png","type":"image\/png"}],"author":"Vlad","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Vlad","Est. reading time":"13 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/draculaservers.com\/tutorials\/install-docker-ubuntu-18-04\/#article","isPartOf":{"@id":"https:\/\/draculaservers.com\/tutorials\/install-docker-ubuntu-18-04\/"},"author":{"name":"Vlad","@id":"https:\/\/draculaservers.com\/tutorials\/#\/schema\/person\/931f7fa8b2126ace6edfb82775e0ec0e"},"headline":"How to Install &#038; Use Docker on Ubuntu 18.04","datePublished":"2018-11-29T18:13:00+00:00","dateModified":"2021-11-14T23:01:02+00:00","mainEntityOfPage":{"@id":"https:\/\/draculaservers.com\/tutorials\/install-docker-ubuntu-18-04\/"},"wordCount":1945,"commentCount":0,"publisher":{"@id":"https:\/\/draculaservers.com\/tutorials\/#organization"},"image":{"@id":"https:\/\/draculaservers.com\/tutorials\/install-docker-ubuntu-18-04\/#primaryimage"},"thumbnailUrl":"https:\/\/draculaservers.com\/tutorials\/wp-content\/uploads\/2018\/11\/How-to-Install-Use-Docker-on-Ubuntu-18.04.png","keywords":["Docker","Virtualization"],"articleSection":["Getting Started","Linux Basics","Ubuntu"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/draculaservers.com\/tutorials\/install-docker-ubuntu-18-04\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/draculaservers.com\/tutorials\/install-docker-ubuntu-18-04\/","url":"https:\/\/draculaservers.com\/tutorials\/install-docker-ubuntu-18-04\/","name":"How to Install & Use Docker on Ubuntu 18.04","isPartOf":{"@id":"https:\/\/draculaservers.com\/tutorials\/#website"},"primaryImageOfPage":{"@id":"https:\/\/draculaservers.com\/tutorials\/install-docker-ubuntu-18-04\/#primaryimage"},"image":{"@id":"https:\/\/draculaservers.com\/tutorials\/install-docker-ubuntu-18-04\/#primaryimage"},"thumbnailUrl":"https:\/\/draculaservers.com\/tutorials\/wp-content\/uploads\/2018\/11\/How-to-Install-Use-Docker-on-Ubuntu-18.04.png","datePublished":"2018-11-29T18:13:00+00:00","dateModified":"2021-11-14T23:01:02+00:00","description":"Docker is an open source container based technology. In this tutorial we'll cover how to install Docker on Ubuntu 18.04 and work with images and containers.","breadcrumb":{"@id":"https:\/\/draculaservers.com\/tutorials\/install-docker-ubuntu-18-04\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/draculaservers.com\/tutorials\/install-docker-ubuntu-18-04\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/draculaservers.com\/tutorials\/install-docker-ubuntu-18-04\/#primaryimage","url":"https:\/\/draculaservers.com\/tutorials\/wp-content\/uploads\/2018\/11\/How-to-Install-Use-Docker-on-Ubuntu-18.04.png","contentUrl":"https:\/\/draculaservers.com\/tutorials\/wp-content\/uploads\/2018\/11\/How-to-Install-Use-Docker-on-Ubuntu-18.04.png","width":1024,"height":512,"caption":"install_use_docker_ubuntu_18.04"},{"@type":"BreadcrumbList","@id":"https:\/\/draculaservers.com\/tutorials\/install-docker-ubuntu-18-04\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/draculaservers.com\/tutorials\/"},{"@type":"ListItem","position":2,"name":"How to Install &#038; Use Docker on Ubuntu 18.04"}]},{"@type":"WebSite","@id":"https:\/\/draculaservers.com\/tutorials\/#website","url":"https:\/\/draculaservers.com\/tutorials\/","name":"Dracula Servers Tutorials","description":"Dedicated Servers","publisher":{"@id":"https:\/\/draculaservers.com\/tutorials\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/draculaservers.com\/tutorials\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/draculaservers.com\/tutorials\/#organization","name":"Dracula Servers","url":"https:\/\/draculaservers.com\/tutorials\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/draculaservers.com\/tutorials\/#\/schema\/logo\/image\/","url":"https:\/\/draculaservers.com\/tutorials\/wp-content\/uploads\/2016\/06\/dracula_full_logo_smaller.png","contentUrl":"https:\/\/draculaservers.com\/tutorials\/wp-content\/uploads\/2016\/06\/dracula_full_logo_smaller.png","width":1625,"height":200,"caption":"Dracula Servers"},"image":{"@id":"https:\/\/draculaservers.com\/tutorials\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/draculaservers.com\/tutorials\/#\/schema\/person\/931f7fa8b2126ace6edfb82775e0ec0e","name":"Vlad","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/499c7a24aa9727703300a291f8f69dfd1b01b8d6a19a4ae4fbe669b4b12b8cbe?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/499c7a24aa9727703300a291f8f69dfd1b01b8d6a19a4ae4fbe669b4b12b8cbe?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/499c7a24aa9727703300a291f8f69dfd1b01b8d6a19a4ae4fbe669b4b12b8cbe?s=96&d=mm&r=g","caption":"Vlad"},"description":"Tech Support","sameAs":["https:\/\/draculaservers.com"]}]}},"_links":{"self":[{"href":"https:\/\/draculaservers.com\/tutorials\/wp-json\/wp\/v2\/posts\/955","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/draculaservers.com\/tutorials\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/draculaservers.com\/tutorials\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/draculaservers.com\/tutorials\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/draculaservers.com\/tutorials\/wp-json\/wp\/v2\/comments?post=955"}],"version-history":[{"count":1,"href":"https:\/\/draculaservers.com\/tutorials\/wp-json\/wp\/v2\/posts\/955\/revisions"}],"predecessor-version":[{"id":2234,"href":"https:\/\/draculaservers.com\/tutorials\/wp-json\/wp\/v2\/posts\/955\/revisions\/2234"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/draculaservers.com\/tutorials\/wp-json\/wp\/v2\/media\/1035"}],"wp:attachment":[{"href":"https:\/\/draculaservers.com\/tutorials\/wp-json\/wp\/v2\/media?parent=955"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/draculaservers.com\/tutorials\/wp-json\/wp\/v2\/categories?post=955"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/draculaservers.com\/tutorials\/wp-json\/wp\/v2\/tags?post=955"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}