{"id":7432,"date":"2017-07-17T12:58:42","date_gmt":"2017-07-17T09:58:42","guid":{"rendered":"https:\/\/themeisle.com\/blog\/?p=7432"},"modified":"2023-11-15T00:37:36","modified_gmt":"2023-11-14T22:37:36","slug":"local-wordpress-development-using-docker","status":"publish","type":"post","link":"https:\/\/themeisle.com\/blog\/local-wordpress-development-using-docker\/","title":{"rendered":"A Quick Guide to Local WordPress Development Using Docker"},"content":{"rendered":"\n<p>Every local website needs an adequate environment to work properly. That typically means setting up a web server, a database, and support for all the languages you&#8217;ll need. The problem is that installing all these components can get tricky, and they may not play nice with each other. That&#8217;s why it&#8217;s worth giving local WordPress development using Docker a shot. \ud83d\udd2b<\/p>\n\n\n\n<!--more-->\n\n\n\n<p>Docker is an application that enables you to set up entire self-contained environments with a few simple commands. It is compatible with WordPress, and can be highly useful if you need to set up various local environments with different types of web servers or tools. \ud83d\udcbb Because each of your containers is essentially a virtual computer, you&#8217;re free to set up different technology stacks as needed.<\/p>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-9d6595d7 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<p>In this article, we&#8217;re going to explain <a href=\"#why-you-should-consider-using-docker-to-create-a-local-wordpress-environment\">why you should consider trying local WordPress development using Docker<\/a>. Then we&#8217;ll teach you <a href=\"#how-to-get-started-with-local-wordpress-development-using-docker\">how to get started<\/a> in three simple steps!<\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n\t\t<div class='ti-tweet-clear'><\/div>\n\t\t\t<div class='ti-tweet_wrapper'>\n\t\t    \t<div class='ti-tweet_text'>\n\t\t    \t\t<a href='https:\/\/twitter.com\/share?text=Learn+how+to+set+up+local+%23WordPress+development+sites+using+%23Docker+%F0%9F%92%A1&via=themeisle&related=themeisle&url=https:\/\/themeisle.com\/blog\/local-wordpress-development-using-docker\/' target='_blank' rel='nofollow'>Learn how to set up local #WordPress development sites using #Docker \ud83d\udca1<\/a>\n\t\t    \t<\/div>\n\t\t    \t<div class='ti-tweet_sharebtn'>\n\t\t    \t<a href='https:\/\/twitter.com\/share?text=Learn+how+to+set+up+local+%23WordPress+development+sites+using+%23Docker+%F0%9F%92%A1&via=themeisle&related=themeisle&url=https:\/\/themeisle.com\/blog\/local-wordpress-development-using-docker\/' target='_blank' rel='nofollow'>Click To Tweet \n\t\t    \t\t<span><\/span>\n\t\t    \t<\/a>\n\t\t    <\/div>\n\t\t<\/div>\n<\/div>\n<\/div>\n\n\n<div class=\"su-divider su-divider-style-dotted\" style=\"margin:40px 0;border-width:1px;border-color:#999999\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"why-you-should-consider-using-docker-to-create-a-local-wordpress-environment\">Why you should consider using Docker to create a local WordPress environment<\/h2>\n\n\n<div class=\"wp-block-image blog-img-std\">\n<figure class=\"aligncenter size-full\"><a href=\"https:\/\/www.docker.com\/\" target=\"_blank\" rel=\"noopener\"><img data-opt-id=60207688  fetchpriority=\"high\" decoding=\"async\" width=\"1234\" height=\"595\" src=\"https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:auto\/h:auto\/q:mauto\/f:best\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2023\/10\/Docker.png\" alt=\"The Docker homepage.\" class=\"wp-image-88708\" srcset=\"https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:1234\/h:595\/q:mauto\/f:best\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2023\/10\/Docker.png 1234w, https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:300\/h:145\/q:mauto\/f:best\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2023\/10\/Docker.png 300w, https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:1024\/h:494\/q:mauto\/f:best\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2023\/10\/Docker.png 1024w, https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:768\/h:370\/q:mauto\/f:best\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2023\/10\/Docker.png 768w, https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:50\/h:24\/q:mauto\/f:best\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2023\/10\/Docker.png 50w, https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:480\/h:231\/q:mauto\/f:best\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2023\/10\/Docker.png 480w, https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:794\/h:383\/q:mauto\/f:best\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2023\/10\/Docker.png 794w, https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:1200\/h:579\/q:mauto\/f:best\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2023\/10\/Docker.png 1200w, https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:296\/h:143\/q:mauto\/f:best\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2023\/10\/Docker.png 296w, https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:390\/h:188\/q:mauto\/f:best\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2023\/10\/Docker.png 390w, https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:270\/h:130\/q:mauto\/f:best\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2023\/10\/Docker.png 270w, https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:1234\/h:595\/q:mauto\/f:best\/dpr:2\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2023\/10\/Docker.png 2x\" sizes=\"(max-width: 700px) 100vw, 700px\" \/><\/a><figcaption class=\"wp-element-caption\"><em>Docker enables you to set up self-contained local development environments with ease.<\/em><\/figcaption><\/figure><\/div>\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>In most cases, setting up a <a href=\"https:\/\/themeisle.com\/blog\/local-wordpress-development-desktopserver\/\">local WordPress development website<\/a> requires that you <a href=\"https:\/\/themeisle.com\/blog\/install-xampp-and-wordpress-locally\/\">install an entire environment<\/a> in one fell swoop. Once you do that, you&#8217;re stuck with the environment you&#8217;ve chosen unless you want to uninstall the components and add new ones. For example, if you set up an <a href=\"https:\/\/www.apache.org\/\" target=\"_blank\" rel=\"noopener\">Apache server<\/a> on your computer, installing <a href=\"https:\/\/nginx.org\/en\/\" target=\"_blank\" rel=\"noopener\">NGINX<\/a> alongside it can be a real pain. However, swapping components may be necessary to recreate your production environments.<\/p>\n\n\n\n<p>This brings us to <a href=\"https:\/\/www.docker.com\/\" target=\"_blank\" rel=\"noopener\">Docker<\/a>, a tool that enables you to set up isolated &#8216;containers&#8217; that include entire development environments. Think of it as setting up a <a href=\"https:\/\/en.wikipedia.org\/wiki\/Virtual_machine\" target=\"_blank\" rel=\"noopener\">Virtual Machine (VM)<\/a> <em>without <\/em>an operating system. These containers provide almost all the same benefits as VM, without weighing your system down. In practice, that means you can set up multiple environments on a normal computer.<\/p>\n\n\n\n<p>As if that weren&#8217;t enough, you can also turn containers on or off at will. That way, the impact to your system will be minimal. Starting them back up when you need them just takes a single command.<\/p>\n\n\n\n<p>\u2699\ufe0f <strong>Key Features:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Create containers with isolated development environments.<\/li>\n\n\n\n<li>Use fewer resources than with VMs.<\/li>\n\n\n\n<li>Share your containers to make collaborations easier.<\/li>\n<\/ul>\n\n\n\n<p>\ud83d\udcb5 <strong>Price:<\/strong><\/p>\n\n\n\n<p>Docker has a <a href=\"https:\/\/www.docker.com\/products\/personal\/\" target=\"_blank\" rel=\"noopener\">free personal plan<\/a>. Premium-level plans start at <a href=\"https:\/\/www.docker.com\/pricing\/\" target=\"_blank\" rel=\"noopener\">$5 per month<\/a> (billed annually at $60) and go up from there. Month-to-month billing is also available at a higher rate for all plans except for the highest level business plan, which requires an annual subscription.<\/p>\n\n\n<div class=\"su-divider su-divider-style-dotted\" style=\"margin:40px 0;border-width:1px;border-color:#999999\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"how-to-get-started-with-local-wordpress-development-using-docker\">How to get started with local WordPress development using Docker (in three simple steps)<\/h2>\n\n\n\n<p>To take advantage of local WordPress development using Docker, you&#8217;ll ideally want to be comfortable using <a href=\"https:\/\/en.wikipedia.org\/wiki\/Command-line_interface\" target=\"_blank\" rel=\"noopener\">the command line<\/a>. However, don&#8217;t worry \u2013 even if you&#8217;ve hardly used it, all you need to do is follow our instructions. Without a working knowledge of the command line, you might not be able to improvise. But you&#8217;ll be able to get started just fine.<\/p>\n\n\n\n<p>For this tutorial, we&#8217;ll be using the Windows version of Docker, but it&#8217;s also available for Linux and Mac. The commands themselves are interchangeable between platforms, so the process remains largely the same regardless of your operating system. Let&#8217;s get to work!<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Step 1: <a href=\"#step-1\">Download and run Docker<\/a><\/li>\n\n\n\n<li>Step 2: <a href=\"#step-2\">Set up a container with a WordPress environment<\/a><\/li>\n\n\n\n<li>Step 3: <a href=\"#step-3\">Get your WordPress container up and running<\/a><\/li>\n<\/ul>\n\n\n<div class=\"su-divider su-divider-style-default\" style=\"margin:40px 0;border-width:15px;border-color:#4267cf\"><\/div>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"step-1\">Step 1: Download and run Docker \ud83c\udfc3<\/h3>\n\n\n\n<p>First, visit the <a href=\"https:\/\/www.docker.com\/products\/docker-desktop\/\" target=\"_blank\" rel=\"noopener\">Docker desktop page<\/a> and look for the <em>Download for [OS]<\/em> tab. Then, choose the version you want based on your operating system:<\/p>\n\n\n<div class=\"wp-block-image blog-img-std\">\n<figure class=\"aligncenter size-full\"><img data-opt-id=510390222  fetchpriority=\"high\" decoding=\"async\" width=\"1280\" height=\"569\" src=\"https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:auto\/h:auto\/q:mauto\/f:best\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2017\/07\/Download-Docker-for-Mac-Windows-Linux.webp\" alt=\"Download Docker for Mac, Windows, or Linux.\" class=\"wp-image-88925\" srcset=\"https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:1280\/h:569\/q:mauto\/f:best\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2017\/07\/Download-Docker-for-Mac-Windows-Linux.webp 1280w, https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:300\/h:133\/q:mauto\/f:best\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2017\/07\/Download-Docker-for-Mac-Windows-Linux.webp 300w, https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:1024\/h:455\/q:mauto\/f:best\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2017\/07\/Download-Docker-for-Mac-Windows-Linux.webp 1024w, https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:768\/h:341\/q:mauto\/f:best\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2017\/07\/Download-Docker-for-Mac-Windows-Linux.webp 768w, https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:50\/h:22\/q:mauto\/f:best\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2017\/07\/Download-Docker-for-Mac-Windows-Linux.webp 50w, https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:480\/h:213\/q:mauto\/f:best\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2017\/07\/Download-Docker-for-Mac-Windows-Linux.webp 480w, https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:794\/h:353\/q:mauto\/f:best\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2017\/07\/Download-Docker-for-Mac-Windows-Linux.webp 794w, https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:1200\/h:533\/q:mauto\/f:best\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2017\/07\/Download-Docker-for-Mac-Windows-Linux.webp 1200w, https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:296\/h:132\/q:mauto\/f:best\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2017\/07\/Download-Docker-for-Mac-Windows-Linux.webp 296w, https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:390\/h:173\/q:mauto\/f:best\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2017\/07\/Download-Docker-for-Mac-Windows-Linux.webp 390w, https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:270\/h:120\/q:mauto\/f:best\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2017\/07\/Download-Docker-for-Mac-Windows-Linux.webp 270w, https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:1280\/h:569\/q:mauto\/f:best\/dpr:2\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2017\/07\/Download-Docker-for-Mac-Windows-Linux.webp 2x\" sizes=\"(max-width: 700px) 100vw, 700px\" \/><\/figure><\/div>\n\n\n<p>On the next page, you can download the application and then run the installer. This part is very simple \u2013 all you need to do is keep moving through the screens and wait until the installation is complete. When it&#8217;s done, you&#8217;ll need to restart your computer.<\/p>\n\n\n\n<p>Once your system is back up and running, open your command line. On Windows, you can just search for <em>Powershell if you don&#8217;t want to install another program<\/em>. Then, type in <code>docker ps<\/code>. If you installed Docker successfully, you should see something like this:<\/p>\n\n\n<div class=\"wp-block-image blog-img-std\">\n<figure class=\"aligncenter size-full\"><img data-opt-id=1035084319  fetchpriority=\"high\" decoding=\"async\" width=\"709\" height=\"120\" src=\"https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:auto\/h:auto\/q:mauto\/f:best\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2017\/06\/docker-containers.png\" alt=\"A list of your running Docker containers.\" class=\"wp-image-7439\" srcset=\"https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:709\/h:120\/q:mauto\/f:best\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2017\/06\/docker-containers.png 709w, https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:300\/h:51\/q:mauto\/f:best\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2017\/06\/docker-containers.png 300w, https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:50\/h:8\/q:mauto\/f:best\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2017\/06\/docker-containers.png 50w, https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:480\/h:81\/q:mauto\/f:best\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2017\/06\/docker-containers.png 480w, https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:296\/h:50\/q:mauto\/f:best\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2017\/06\/docker-containers.png 296w, https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:390\/h:66\/q:mauto\/f:best\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2017\/06\/docker-containers.png 390w, https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:270\/h:46\/q:mauto\/f:best\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2017\/06\/docker-containers.png 270w, https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:709\/h:120\/q:mauto\/f:best\/dpr:2\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2017\/06\/docker-containers.png 2x\" sizes=\"(max-width: 700px) 100vw, 700px\" \/><\/figure><\/div>\n\n\n<p>That&#8217;s a list of the containers currently running on your computer and as you can see, it&#8217;s empty. Let&#8217;s fix that right away.<\/p>\n\n\n<div class=\"su-divider su-divider-style-default\" style=\"margin:40px 0;border-width:15px;border-color:#4267cf\"><\/div>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"step-2\">Step 2: Set up a container with a WordPress environment \ud83d\uddc4\ufe0f<\/h3>\n\n\n\n<p>There are two ways to go about this step \u2013 you can create a container and set up all the elements you need one by one, or you can do it all in one fell swoop. Naturally, the second route is the smart way to go, so let&#8217;s walk through it.<\/p>\n\n\n\n<p>We&#8217;re going to use a tool called Compose V2, which is bundled in with Docker Desktop. It enables you to configure the services you want your container to have and set them up all at once. (Note that if you set up Docker before July 2023, you may need to <a href=\"https:\/\/docs.docker.com\/compose\/migrate\/\" target=\"_blank\" rel=\"noopener\">migrate to Compose V2<\/a>).<\/p>\n\n\n\n<p>Start out by opening the command line again and entering this command:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>mkdir wordpress-local &amp;&amp; cd wordpress-local<\/code><\/pre>\n\n\n\n<p>This will create a directory called <em>wordpress-local <\/em>on your computer. Open that folder and create a new file called <em>docker-compose.yml<\/em>, using your favorite text editor. <\/p>\n\n\n\n<p>Then, paste the following code snippet into the file:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>version: '3'\nservices:\n  wordpress:\n    image: wordpress\n    ports:\n      - \"127.0.0.3:8080:80\"\n    environment:\n      WORDPRESS_DB_HOST: db\n      WORDPRESS_DB_NAME: &lt;your_database_name&gt;\n      WORDPRESS_DB_USER: &lt;your_mysql_user&gt;\n      WORDPRESS_DB_PASSWORD: &lt;your_mysql_user_password&gt;\n    volumes:\n      - .\/wp-content:\/var\/www\/html\/wp-content\n\n  db:\n    image: mysql:5.7\n    environment:\n      MYSQL_ROOT_PASSWORD: &lt;your_mysql_root_password&gt;\n      MYSQL_DATABASE: &lt;your_database_name&gt;\n      MYSQL_USER: &lt;your_mysql_user&gt;\n      MYSQL_PASSWORD: &lt;your_mysql_user_password&gt;\n    volumes:\n      - db-data:\/var\/lib\/mysql\n\nvolumes:\n  db-data:\n<\/code><\/pre>\n\n\n\n<p>You&#8217;ll need to replace the placeholders with your own details. For example, you&#8217;ll need to assign <a href=\"https:\/\/www.lifewire.com\/computer-port-usage-817366\" target=\"_blank\" rel=\"noopener\">specific ports<\/a> and individual passwords by editing the values in the file.<\/p>\n\n\n\n<p>When you&#8217;re ready, save your changes and close your editor. What you just did is instruct Docker to set up a new database for WordPress and install the software, along with all the other services it needs. <\/p>\n\n\n<div class=\"su-divider su-divider-style-default\" style=\"margin:40px 0;border-width:15px;border-color:#4267cf\"><\/div>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"step-3\">Step 3: Get your WordPress container up and running \ud83c\udfaf<\/h3>\n\n\n\n<p>All that&#8217;s left now is to tell Docker to start up your container. To do that, navigate to the directory you&#8217;ve just created, using the following command:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>cd wordpress-local<\/code><\/pre>\n\n\n\n<p>Then, enter the following command:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>docker compose up -d<\/code><\/pre>\n\n\n\n<p>Now, sit back and wait for Docker to download and set up all the services you indicated in your <em>docker-compose.yml <\/em>file. This might take a few minutes, depending on your internet connection.<\/p>\n\n\n\n<p>Once the setup is complete, you&#8217;ll be able to access your WordPress site from any browser by entering the ports you set up earlier. In our case, these were <code>127.0.0.3:8080<\/code>:<\/p>\n\n\n<div class=\"wp-block-image blog-img-std\">\n<figure class=\"aligncenter size-full\"><img data-opt-id=1779718081  data-opt-src=\"https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:auto\/h:auto\/q:mauto\/f:best\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2017\/07\/Finishing-up-local-WordPress-development-with-Docker.webp\"  decoding=\"async\" width=\"971\" height=\"361\" src=\"https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:auto\/h:auto\/q:eco\/f:best\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2017\/07\/Finishing-up-local-WordPress-development-with-Docker.webp\" alt=\"Finishing up local WordPress development using Docker.\" class=\"wp-image-90659\" old-srcset=\"https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:971\/h:361\/q:mauto\/f:best\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2017\/07\/Finishing-up-local-WordPress-development-with-Docker.webp 971w, https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:300\/h:112\/q:mauto\/f:best\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2017\/07\/Finishing-up-local-WordPress-development-with-Docker.webp 300w, https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:768\/h:286\/q:mauto\/f:best\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2017\/07\/Finishing-up-local-WordPress-development-with-Docker.webp 768w, https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:50\/h:19\/q:mauto\/f:best\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2017\/07\/Finishing-up-local-WordPress-development-with-Docker.webp 50w, https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:480\/h:178\/q:mauto\/f:best\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2017\/07\/Finishing-up-local-WordPress-development-with-Docker.webp 480w, https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:794\/h:295\/q:mauto\/f:best\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2017\/07\/Finishing-up-local-WordPress-development-with-Docker.webp 794w, https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:296\/h:110\/q:mauto\/f:best\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2017\/07\/Finishing-up-local-WordPress-development-with-Docker.webp 296w, https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:390\/h:145\/q:mauto\/f:best\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2017\/07\/Finishing-up-local-WordPress-development-with-Docker.webp 390w, https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:270\/h:100\/q:mauto\/f:best\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2017\/07\/Finishing-up-local-WordPress-development-with-Docker.webp 270w, https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:971\/h:361\/q:mauto\/f:best\/dpr:2\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2017\/07\/Finishing-up-local-WordPress-development-with-Docker.webp 2x\" \/><noscript><img data-opt-id=1779718081  decoding=\"async\" width=\"971\" height=\"361\" src=\"https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:auto\/h:auto\/q:mauto\/f:best\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2017\/07\/Finishing-up-local-WordPress-development-with-Docker.webp\" alt=\"Finishing up local WordPress development using Docker.\" class=\"wp-image-90659\" srcset=\"https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:971\/h:361\/q:mauto\/f:best\/https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:auto\/h:auto\/q:mauto\/f:best\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2017\/07\/Finishing-up-local-WordPress-development-with-Docker.webp 971w, https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:300\/h:112\/q:mauto\/f:best\/https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:auto\/h:auto\/q:mauto\/f:best\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2017\/07\/Finishing-up-local-WordPress-development-with-Docker.webp 300w, https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:768\/h:286\/q:mauto\/f:best\/https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:auto\/h:auto\/q:mauto\/f:best\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2017\/07\/Finishing-up-local-WordPress-development-with-Docker.webp 768w, https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:50\/h:19\/q:mauto\/f:best\/https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:auto\/h:auto\/q:mauto\/f:best\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2017\/07\/Finishing-up-local-WordPress-development-with-Docker.webp 50w, https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:480\/h:178\/q:mauto\/f:best\/https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:auto\/h:auto\/q:mauto\/f:best\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2017\/07\/Finishing-up-local-WordPress-development-with-Docker.webp 480w, https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:794\/h:295\/q:mauto\/f:best\/https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:auto\/h:auto\/q:mauto\/f:best\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2017\/07\/Finishing-up-local-WordPress-development-with-Docker.webp 794w, https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:296\/h:110\/q:mauto\/f:best\/https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:auto\/h:auto\/q:mauto\/f:best\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2017\/07\/Finishing-up-local-WordPress-development-with-Docker.webp 296w, https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:390\/h:145\/q:mauto\/f:best\/https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:auto\/h:auto\/q:mauto\/f:best\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2017\/07\/Finishing-up-local-WordPress-development-with-Docker.webp 390w, https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:270\/h:100\/q:mauto\/f:best\/https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:auto\/h:auto\/q:mauto\/f:best\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2017\/07\/Finishing-up-local-WordPress-development-with-Docker.webp 270w, https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:971\/h:361\/q:mauto\/f:best\/dpr:2\/https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:auto\/h:auto\/q:mauto\/f:best\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2017\/07\/Finishing-up-local-WordPress-development-with-Docker.webp 2x\" sizes=\"(max-width: 700px) 100vw, 700px\" \/></noscript><\/figure><\/div>\n\n\n<p>All that&#8217;s left to do now is follow the regular WordPress setup process in your browser.<\/p>\n\n\n\n<p>The WordPress container you&#8217;ve just created will also appear in Docker Desktop:<\/p>\n\n\n<div class=\"wp-block-image size-full blog-img-std\">\n<figure class=\"aligncenter\"><img data-opt-id=1626897898  data-opt-src=\"https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:auto\/h:auto\/q:mauto\/f:best\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2017\/07\/WordPress-container-in-Docker-Desktop.webp\"  decoding=\"async\" width=\"1344\" height=\"467\" src=\"https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:auto\/h:auto\/q:eco\/f:best\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2017\/07\/WordPress-container-in-Docker-Desktop.webp\" alt=\"WordPress container in Docker Desktop\" class=\"wp-image-90658\" old-srcset=\"https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:1344\/h:467\/q:mauto\/f:best\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2017\/07\/WordPress-container-in-Docker-Desktop.webp 1344w, https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:300\/h:104\/q:mauto\/f:best\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2017\/07\/WordPress-container-in-Docker-Desktop.webp 300w, https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:1024\/h:356\/q:mauto\/f:best\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2017\/07\/WordPress-container-in-Docker-Desktop.webp 1024w, https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:768\/h:267\/q:mauto\/f:best\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2017\/07\/WordPress-container-in-Docker-Desktop.webp 768w, https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:50\/h:17\/q:mauto\/f:best\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2017\/07\/WordPress-container-in-Docker-Desktop.webp 50w, https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:480\/h:167\/q:mauto\/f:best\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2017\/07\/WordPress-container-in-Docker-Desktop.webp 480w, https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:794\/h:276\/q:mauto\/f:best\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2017\/07\/WordPress-container-in-Docker-Desktop.webp 794w, https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:1200\/h:417\/q:mauto\/f:best\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2017\/07\/WordPress-container-in-Docker-Desktop.webp 1200w, https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:296\/h:103\/q:mauto\/f:best\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2017\/07\/WordPress-container-in-Docker-Desktop.webp 296w, https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:390\/h:136\/q:mauto\/f:best\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2017\/07\/WordPress-container-in-Docker-Desktop.webp 390w, https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:270\/h:94\/q:mauto\/f:best\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2017\/07\/WordPress-container-in-Docker-Desktop.webp 270w, https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:1344\/h:467\/q:mauto\/f:best\/dpr:2\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2017\/07\/WordPress-container-in-Docker-Desktop.webp 2x\" \/><noscript><img data-opt-id=1626897898  decoding=\"async\" width=\"1344\" height=\"467\" src=\"https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:auto\/h:auto\/q:mauto\/f:best\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2017\/07\/WordPress-container-in-Docker-Desktop.webp\" alt=\"WordPress container in Docker Desktop\" class=\"wp-image-90658\" srcset=\"https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:1344\/h:467\/q:mauto\/f:best\/https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:auto\/h:auto\/q:mauto\/f:best\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2017\/07\/WordPress-container-in-Docker-Desktop.webp 1344w, https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:300\/h:104\/q:mauto\/f:best\/https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:auto\/h:auto\/q:mauto\/f:best\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2017\/07\/WordPress-container-in-Docker-Desktop.webp 300w, https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:1024\/h:356\/q:mauto\/f:best\/https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:auto\/h:auto\/q:mauto\/f:best\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2017\/07\/WordPress-container-in-Docker-Desktop.webp 1024w, https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:768\/h:267\/q:mauto\/f:best\/https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:auto\/h:auto\/q:mauto\/f:best\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2017\/07\/WordPress-container-in-Docker-Desktop.webp 768w, https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:50\/h:17\/q:mauto\/f:best\/https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:auto\/h:auto\/q:mauto\/f:best\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2017\/07\/WordPress-container-in-Docker-Desktop.webp 50w, https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:480\/h:167\/q:mauto\/f:best\/https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:auto\/h:auto\/q:mauto\/f:best\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2017\/07\/WordPress-container-in-Docker-Desktop.webp 480w, https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:794\/h:276\/q:mauto\/f:best\/https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:auto\/h:auto\/q:mauto\/f:best\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2017\/07\/WordPress-container-in-Docker-Desktop.webp 794w, https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:1200\/h:417\/q:mauto\/f:best\/https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:auto\/h:auto\/q:mauto\/f:best\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2017\/07\/WordPress-container-in-Docker-Desktop.webp 1200w, https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:296\/h:103\/q:mauto\/f:best\/https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:auto\/h:auto\/q:mauto\/f:best\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2017\/07\/WordPress-container-in-Docker-Desktop.webp 296w, https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:390\/h:136\/q:mauto\/f:best\/https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:auto\/h:auto\/q:mauto\/f:best\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2017\/07\/WordPress-container-in-Docker-Desktop.webp 390w, https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:270\/h:94\/q:mauto\/f:best\/https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:auto\/h:auto\/q:mauto\/f:best\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2017\/07\/WordPress-container-in-Docker-Desktop.webp 270w, https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:1344\/h:467\/q:mauto\/f:best\/dpr:2\/https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:auto\/h:auto\/q:mauto\/f:best\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2017\/07\/WordPress-container-in-Docker-Desktop.webp 2x\" sizes=\"(max-width: 700px) 100vw, 700px\" \/></noscript><\/figure><\/div>\n\n\n<p>Keep in mind that you can set up as many Docker containers as you want, and power them up or down at will using these two commands:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>docker compose stop\ndocker compose up -d<\/code><\/pre>\n\n\n\n<p>Now you&#8217;re ready to get rocking with your local WordPress development using Docker!<\/p>\n\n\n<div class=\"su-divider su-divider-style-dotted\" style=\"margin:40px 0;border-width:1px;border-color:#999999\"><a href=\"#\" style=\"color:#999999\">Go to top<\/a><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Conclusion \ud83e\uddd0<\/h2>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-9d6595d7 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<p>There are plenty of ways to <a href=\"https:\/\/themeisle.com\/blog\/install-xampp-and-wordpress-locally\/\">set up local environments<\/a> for WordPress development and <a href=\"https:\/\/themeisle.com\/blog\/local-by-flywheel-wordpress-on-mac\/\">create simple testing sites<\/a>, but Docker stands out thanks to its compartmentalization features.<\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n\t\t<div class='ti-tweet-clear'><\/div>\n\t\t\t<div class='ti-tweet_wrapper'>\n\t\t    \t<div class='ti-tweet_text'>\n\t\t    \t\t<a href='https:\/\/twitter.com\/share?text=Learn+how+to+set+up+local+%23WordPress+development+sites+using+%23Docker+%F0%9F%92%A1&via=themeisle&related=themeisle&url=https:\/\/themeisle.com\/blog\/local-wordpress-development-using-docker\/' target='_blank' rel='nofollow'>Learn how to set up local #WordPress development sites using #Docker \ud83d\udca1<\/a>\n\t\t    \t<\/div>\n\t\t    \t<div class='ti-tweet_sharebtn'>\n\t\t    \t<a href='https:\/\/twitter.com\/share?text=Learn+how+to+set+up+local+%23WordPress+development+sites+using+%23Docker+%F0%9F%92%A1&via=themeisle&related=themeisle&url=https:\/\/themeisle.com\/blog\/local-wordpress-development-using-docker\/' target='_blank' rel='nofollow'>Click To Tweet \n\t\t    \t\t<span><\/span>\n\t\t    \t<\/a>\n\t\t    <\/div>\n\t\t<\/div>\n<\/div>\n<\/div>\n\n\n\n<p>With it, you&#8217;ll be able to set up multiple environments side by side using different components and turn them on and off at will, which is a huge plus.<\/p>\n\n\n\n<p>\ud83e\uddd7\ud83c\udffc\u200d\u2640\ufe0f Here are the three steps to setting up local WordPress development using Docker:<\/p>\n\n\n<div class=\"su-note\"  style=\"border-color:#e5e5e5;border-radius:3px;-moz-border-radius:3px;-webkit-border-radius:3px;\"><div class=\"su-note-inner su-u-clearfix su-u-trim\" style=\"background-color:#FFF;border-color:#ffffff;color:#333333;border-radius:3px;-moz-border-radius:3px;-webkit-border-radius:3px;\">\n\n\n\n<ol class=\"wp-block-list\">\n<li><a href=\"https:\/\/www.docker.com\/docker-windows\" target=\"_blank\" rel=\"noopener\">Download and run Docker<\/a> \ud83c\udfc3<\/li>\n\n\n\n<li>Set up a container with a WordPress environment \ud83d\uddc4\ufe0f<\/li>\n\n\n\n<li>Get your container up and running \ud83c\udfaf<\/li>\n<\/ol>\n\n\n<\/div><\/div>\n\n\n\n<p><strong><em>Do you have any questions about how to get started with local WordPress development using Docker? Feel free to ask us in the comments section below!<\/em><\/strong><\/p>\n\n\n<style>.ticss-d144f107 strong{font-weight: 700;\n    letter-spacing: -0.2px;\n    line-height: 1.2;\n    display: inline-block;}<\/style>\n\n\n<div class=\"wp-block-columns speed-guide has-white-color has-text-color has-background has-link-color wp-elements-2f81f6c5526477b5b4d52d1ca4513949 is-layout-flex wp-container-core-columns-is-layout-9d6595d7 wp-block-columns-is-layout-flex\" style=\"background-color:#4267cf\">\n<div class=\"wp-block-column is-vertically-aligned-center is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:40%\">\n<figure class=\"wp-block-image size-medium\"><img data-opt-id=30701221  data-opt-src=\"https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:300\/h:300\/q:mauto\/f:best\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2025\/09\/e2ce20299a807336c68c2e029640adaa1.png\"  decoding=\"async\" width=\"300\" height=\"300\" src=\"https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:300\/h:300\/q:eco\/f:best\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2025\/09\/e2ce20299a807336c68c2e029640adaa1.png\" alt=\"speed guide\" class=\"wp-image-113040\" old-srcset=\"https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:300\/h:300\/q:mauto\/f:best\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2025\/09\/e2ce20299a807336c68c2e029640adaa1.png 300w, https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:1024\/h:1024\/q:mauto\/f:best\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2025\/09\/e2ce20299a807336c68c2e029640adaa1.png 1024w, https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:150\/h:150\/q:mauto\/f:best\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2025\/09\/e2ce20299a807336c68c2e029640adaa1.png 150w, https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:768\/h:768\/q:mauto\/f:best\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2025\/09\/e2ce20299a807336c68c2e029640adaa1.png 768w, https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:50\/h:50\/q:mauto\/f:best\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2025\/09\/e2ce20299a807336c68c2e029640adaa1.png 50w, https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:240\/h:240\/q:mauto\/f:best\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2025\/09\/e2ce20299a807336c68c2e029640adaa1.png 240w, https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:397\/h:397\/q:mauto\/f:best\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2025\/09\/e2ce20299a807336c68c2e029640adaa1.png 397w, https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:600\/h:600\/q:mauto\/f:best\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2025\/09\/e2ce20299a807336c68c2e029640adaa1.png 600w, https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:148\/h:148\/q:mauto\/f:best\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2025\/09\/e2ce20299a807336c68c2e029640adaa1.png 148w, https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:195\/h:195\/q:mauto\/f:best\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2025\/09\/e2ce20299a807336c68c2e029640adaa1.png 195w, https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:135\/h:135\/q:mauto\/f:best\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2025\/09\/e2ce20299a807336c68c2e029640adaa1.png 135w, https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:1080\/h:1080\/q:mauto\/f:best\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2025\/09\/e2ce20299a807336c68c2e029640adaa1.png 1200w, https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:1080\/h:1080\/q:mauto\/f:best\/dpr:2\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2025\/09\/e2ce20299a807336c68c2e029640adaa1.png 2x\" \/><noscript><img data-opt-id=30701221  decoding=\"async\" width=\"300\" height=\"300\" src=\"https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:300\/h:300\/q:mauto\/f:best\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2025\/09\/e2ce20299a807336c68c2e029640adaa1.png\" alt=\"speed guide\" class=\"wp-image-113040\" srcset=\"https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:300\/h:300\/q:mauto\/f:best\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2025\/09\/e2ce20299a807336c68c2e029640adaa1.png 300w, https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:1024\/h:1024\/q:mauto\/f:best\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2025\/09\/e2ce20299a807336c68c2e029640adaa1.png 1024w, https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:150\/h:150\/q:mauto\/f:best\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2025\/09\/e2ce20299a807336c68c2e029640adaa1.png 150w, https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:768\/h:768\/q:mauto\/f:best\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2025\/09\/e2ce20299a807336c68c2e029640adaa1.png 768w, https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:50\/h:50\/q:mauto\/f:best\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2025\/09\/e2ce20299a807336c68c2e029640adaa1.png 50w, https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:240\/h:240\/q:mauto\/f:best\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2025\/09\/e2ce20299a807336c68c2e029640adaa1.png 240w, https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:397\/h:397\/q:mauto\/f:best\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2025\/09\/e2ce20299a807336c68c2e029640adaa1.png 397w, https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:600\/h:600\/q:mauto\/f:best\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2025\/09\/e2ce20299a807336c68c2e029640adaa1.png 600w, https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:148\/h:148\/q:mauto\/f:best\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2025\/09\/e2ce20299a807336c68c2e029640adaa1.png 148w, https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:195\/h:195\/q:mauto\/f:best\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2025\/09\/e2ce20299a807336c68c2e029640adaa1.png 195w, https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:135\/h:135\/q:mauto\/f:best\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2025\/09\/e2ce20299a807336c68c2e029640adaa1.png 135w, https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:1080\/h:1080\/q:mauto\/f:best\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2025\/09\/e2ce20299a807336c68c2e029640adaa1.png 1200w, https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:1080\/h:1080\/q:mauto\/f:best\/dpr:2\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2025\/09\/e2ce20299a807336c68c2e029640adaa1.png 2x\" sizes=\"(max-width: 300px) 100vw, 300px\" \/></noscript><\/figure>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<p class=\"has-text-align-center ticss-58e79f2f\" style=\"font-size:14px\"><strong>FREE GUIDE<\/strong><\/p>\n\n\n\n<p class=\"ticss-d144f107\" style=\"font-size:25px\"><strong>4 Essential Steps to Speed Up Your&nbsp;WordPress Website<\/strong><\/p>\n\n\n\n<p class=\"ticss-3b627beb\">Follow the simple steps in our 4-part mini series and reduce your loading times by 50-80%.&nbsp;\ud83d\ude80<\/p>\n\n\n<p><div class=\"frm_forms  with_frm_style frm_style_themeisle\" id=\"frm_form_4_container\" data-token=\"6f00c030fd777e7369331211a5762e80\">\n<form enctype=\"multipart\/form-data\" method=\"post\" class=\"frm-show-form  frm_pro_form \" id=\"form_site-speed-guide-below-post\" data-token=\"6f00c030fd777e7369331211a5762e80\">\n<div class=\"frm_form_fields \">\n<fieldset>\n<legend class=\"frm_screen_reader\">Site Speed Guide - Below Post<\/legend>\r\n\r\n<div class=\"frm_fields_container\">\n<input type=\"hidden\" name=\"frm_action\" value=\"create\" \/>\n<input type=\"hidden\" name=\"form_id\" value=\"4\" \/>\n<input type=\"hidden\" name=\"frm_hide_fields_4\" id=\"frm_hide_fields_4\" value=\"\" \/>\n<input type=\"hidden\" name=\"form_key\" value=\"site-speed-guide-below-post\" \/>\n<input type=\"hidden\" name=\"item_meta[0]\" value=\"\" \/>\n<input type=\"hidden\" id=\"frm_submit_entry_4\" name=\"frm_submit_entry_4\" value=\"f6f1f532b4\" \/><input type=\"hidden\" name=\"_wp_http_referer\" value=\"\/blog\/wp-json\/wp\/v2\/posts\/7432\" \/><input type=\"hidden\" name=\"item_meta[18]\" id=\"field_6px6q2\" value=\"\/blog\/wp-json\/wp\/v2\/posts\/7432\"  data-frmval=\"\/blog\/wp-json\/wp\/v2\/posts\/7432\"   \/>\n<div id=\"frm_field_15_container\" class=\"frm_form_field form-field  frm_required_field frm_none_container\">\r\n\t<label for=\"field_6px6q\" id=\"field_6px6q_label\" class=\"frm_primary_label\">Your Email\r\n\t\t<span class=\"frm_required\" aria-hidden=\"true\">*<\/span>\r\n\t<\/label>\r\n\t<input type=\"email\" id=\"field_6px6q\" name=\"item_meta[15]\" value=\"\"  autocomplete=\"email\"  placeholder=\"your@email.com\" data-reqmsg=\"Your Email cannot be blank.\" aria-required=\"true\" data-invmsg=\"Your Email is invalid\" aria-invalid=\"false\"  \/>\r\n\t\r\n\t\r\n<\/div>\n<div id=\"frm_field_17_container\" class=\"frm_form_field form-field  frm_none_container vertical_radio\">\r\n\t<div  id=\"field_6px6q3_label\" class=\"frm_primary_label\">Subscribe to our newsletter\r\n\t\t<span class=\"frm_required\" aria-hidden=\"true\"><\/span>\r\n\t<\/div>\r\n\t<div class=\"frm_opt_container\" aria-labelledby=\"field_6px6q3_label\" role=\"group\">\t\t<div class=\"frm_checkbox\" id=\"frm_checkbox_17-0\">\t\t\t<label  for=\"field_6px6q3-0\">\n\t\t\t<input type=\"checkbox\" name=\"item_meta[17][]\" id=\"field_6px6q3-0\" value=\"true\"  data-invmsg=\"Subscribe to our newsletter is invalid\" aria-invalid=\"false\"   \/> Subscribe to our newsletter<\/label><\/div>\n<\/div>\r\n\t\r\n\t\r\n<\/div>\n<div id=\"frm_field_14_container\" class=\"frm_form_field form-field \">\r\n\t<div class=\"frm_submit frm_flex\">\r\n<button class=\"frm_button_submit frm_final_submit\" type=\"submit\"   formnovalidate=\"formnovalidate\">FREE ACCESS<\/button>\r\n\r\n\r\n\r\n<\/div>\r\n<\/div>\n\t<input type=\"hidden\" name=\"item_key\" value=\"\" \/>\n\t\t\t<div id=\"frm_field_24_container\">\n\t\t\t<label for=\"field_5wua\" >\n\t\t\t\tIf you are human, leave this field blank.\t\t\t<\/label>\n\t\t\t<input  id=\"field_5wua\" type=\"text\" class=\"frm_form_field form-field frm_verify\" name=\"item_meta[24]\" value=\"\"  \/>\n\t\t<\/div>\n\t\t<input name=\"frm_state\" type=\"hidden\" value=\"tGKtIG19U6wyYcew8uBttQibkHFlXziEhdJ+MdawL4yPSAm6AeCFrcPBJiK38Y1i\" \/><\/div>\n<\/fieldset>\n<\/div>\n\n<p style=\"display: none !important;\" class=\"akismet-fields-container\" data-prefix=\"ak_\"><label>&#916;<textarea name=\"ak_hp_textarea\" cols=\"45\" rows=\"8\" maxlength=\"100\"><\/textarea><\/label><input type=\"hidden\" id=\"ak_js_1\" name=\"ak_js\" value=\"28\"\/><script>document.getElementById( \"ak_js_1\" ).setAttribute( \"value\", ( new Date() ).getTime() );<\/script><\/p><\/form>\n<\/div>\n<\/p>\n<\/div>\n<\/div>\n\n","protected":false},"excerpt":{"rendered":"In this article, we&#8217;re going to explain why you should consider trying local WordPress development using Docker. Then we&#8217;ll teach you how to get started in three simple steps!","protected":false},"author":14,"featured_media":68856,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_stopmodifiedupdate":false,"_modified_date":"","_themeisle_gutenberg_block_has_review":false,"footnotes":""},"categories":[275,274],"tags":[],"hashtags":[],"class_list":["post-7432","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-reviews","category-tools"],"wppr_data":{"cwp_meta_box_check":"No"},"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v21.8 (Yoast SEO v26.1.1) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>A Quick Guide to Local WordPress Development Using Docker<\/title>\n<meta name=\"description\" content=\"Creating a testing website isn&#039;t always easy, but you can really speed up your local WordPress development using Docker. This how to do it!\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/themeisle.com\/blog\/local-wordpress-development-using-docker\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"A Quick Guide to Local WordPress Development Using Docker\" \/>\n<meta property=\"og:description\" content=\"Creating a testing website isn&#039;t always easy, but you can really speed up your local WordPress development using Docker. This how to do it!\" \/>\n<meta property=\"og:url\" content=\"https:\/\/themeisle.com\/blog\/local-wordpress-development-using-docker\/\" \/>\n<meta property=\"og:site_name\" content=\"Themeisle Blog\" \/>\n<meta property=\"article:published_time\" content=\"2017-07-17T09:58:42+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-11-14T22:37:36+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:auto\/h:auto\/q:mauto\/f:best\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2017\/07\/local-wordpress-development-using-docker.png\" \/>\n\t<meta property=\"og:image:width\" content=\"2180\" \/>\n\t<meta property=\"og:image:height\" content=\"1090\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"John Hughes\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"John Hughes\" \/>\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:\/\/themeisle.com\/blog\/local-wordpress-development-using-docker\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/themeisle.com\/blog\/local-wordpress-development-using-docker\/\"},\"author\":{\"name\":\"John Hughes\",\"@id\":\"https:\/\/themeisle.com\/blog\/#\/schema\/person\/0f080762cdcc47aee80f11536fe87242\"},\"headline\":\"A Quick Guide to Local WordPress Development Using Docker\",\"datePublished\":\"2017-07-17T09:58:42+00:00\",\"dateModified\":\"2023-11-14T22:37:36+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/themeisle.com\/blog\/local-wordpress-development-using-docker\/\"},\"wordCount\":1333,\"commentCount\":17,\"publisher\":{\"@id\":\"https:\/\/themeisle.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/themeisle.com\/blog\/local-wordpress-development-using-docker\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:auto\/h:auto\/q:mauto\/f:best\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2017\/07\/local-wordpress-development-using-docker.png\",\"articleSection\":[\"Reviews\",\"Tools\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/themeisle.com\/blog\/local-wordpress-development-using-docker\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/themeisle.com\/blog\/local-wordpress-development-using-docker\/\",\"url\":\"https:\/\/themeisle.com\/blog\/local-wordpress-development-using-docker\/\",\"name\":\"A Quick Guide to Local WordPress Development Using Docker\",\"isPartOf\":{\"@id\":\"https:\/\/themeisle.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/themeisle.com\/blog\/local-wordpress-development-using-docker\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/themeisle.com\/blog\/local-wordpress-development-using-docker\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:auto\/h:auto\/q:mauto\/f:best\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2017\/07\/local-wordpress-development-using-docker.png\",\"datePublished\":\"2017-07-17T09:58:42+00:00\",\"dateModified\":\"2023-11-14T22:37:36+00:00\",\"description\":\"Creating a testing website isn\\\\'t always easy, but you can really speed up your local WordPress development using Docker. This how to do it!\",\"breadcrumb\":{\"@id\":\"https:\/\/themeisle.com\/blog\/local-wordpress-development-using-docker\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/themeisle.com\/blog\/local-wordpress-development-using-docker\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/themeisle.com\/blog\/local-wordpress-development-using-docker\/#primaryimage\",\"url\":\"https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:auto\/h:auto\/q:mauto\/f:best\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2017\/07\/local-wordpress-development-using-docker.png\",\"contentUrl\":\"https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:auto\/h:auto\/q:mauto\/f:best\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2017\/07\/local-wordpress-development-using-docker.png\",\"width\":2180,\"height\":1090,\"caption\":\"local WordPress development using Docker\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/themeisle.com\/blog\/local-wordpress-development-using-docker\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Blog\",\"item\":\"https:\/\/themeisle.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"A Quick Guide to Local WordPress Development Using Docker\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/themeisle.com\/blog\/#website\",\"url\":\"https:\/\/themeisle.com\/blog\/\",\"name\":\"Themeisle Blog\",\"description\":\"WordPress Tutorials and Reviews for Beginners and Advanced\",\"publisher\":{\"@id\":\"https:\/\/themeisle.com\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/themeisle.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/themeisle.com\/blog\/#organization\",\"name\":\"VertiStudio\",\"alternateName\":\"Vertigo Studio SA\",\"url\":\"https:\/\/themeisle.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/themeisle.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:auto\/h:auto\/q:mauto\/f:best\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2024\/02\/VertiStudio_logo1.png\",\"contentUrl\":\"https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:auto\/h:auto\/q:mauto\/f:best\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2024\/02\/VertiStudio_logo1.png\",\"width\":718,\"height\":156,\"caption\":\"VertiStudio\"},\"image\":{\"@id\":\"https:\/\/themeisle.com\/blog\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/themeisle.com\/blog\/#\/schema\/person\/0f080762cdcc47aee80f11536fe87242\",\"name\":\"John Hughes\",\"description\":\"John is a self-taught WordPress designer and developer. He has been working with the CMS for over a decade, and has experience operating as a freelancer and as part of an agency. He\u2019s dabbled in everything from accessible design to website security. Plus, he has extensive knowledge of online business topics like affiliate marketing.\",\"sameAs\":[\"http:\/\/wordcandy.co\"],\"url\":\"https:\/\/themeisle.com\/blog\/author\/john-h\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"A Quick Guide to Local WordPress Development Using Docker","description":"Creating a testing website isn&#039;t always easy, but you can really speed up your local WordPress development using Docker. This how to do it!","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:\/\/themeisle.com\/blog\/local-wordpress-development-using-docker\/","og_locale":"en_US","og_type":"article","og_title":"A Quick Guide to Local WordPress Development Using Docker","og_description":"Creating a testing website isn&#039;t always easy, but you can really speed up your local WordPress development using Docker. This how to do it!","og_url":"https:\/\/themeisle.com\/blog\/local-wordpress-development-using-docker\/","og_site_name":"Themeisle Blog","article_published_time":"2017-07-17T09:58:42+00:00","article_modified_time":"2023-11-14T22:37:36+00:00","og_image":[{"width":2180,"height":1090,"url":"https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:auto\/h:auto\/q:mauto\/f:best\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2017\/07\/local-wordpress-development-using-docker.png","type":"image\/png"}],"author":"John Hughes","twitter_card":"summary_large_image","twitter_misc":{"Written by":"John Hughes","Est. reading time":"7 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/themeisle.com\/blog\/local-wordpress-development-using-docker\/#article","isPartOf":{"@id":"https:\/\/themeisle.com\/blog\/local-wordpress-development-using-docker\/"},"author":{"name":"John Hughes","@id":"https:\/\/themeisle.com\/blog\/#\/schema\/person\/0f080762cdcc47aee80f11536fe87242"},"headline":"A Quick Guide to Local WordPress Development Using Docker","datePublished":"2017-07-17T09:58:42+00:00","dateModified":"2023-11-14T22:37:36+00:00","mainEntityOfPage":{"@id":"https:\/\/themeisle.com\/blog\/local-wordpress-development-using-docker\/"},"wordCount":1333,"commentCount":17,"publisher":{"@id":"https:\/\/themeisle.com\/blog\/#organization"},"image":{"@id":"https:\/\/themeisle.com\/blog\/local-wordpress-development-using-docker\/#primaryimage"},"thumbnailUrl":"https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:auto\/h:auto\/q:mauto\/f:best\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2017\/07\/local-wordpress-development-using-docker.png","articleSection":["Reviews","Tools"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/themeisle.com\/blog\/local-wordpress-development-using-docker\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/themeisle.com\/blog\/local-wordpress-development-using-docker\/","url":"https:\/\/themeisle.com\/blog\/local-wordpress-development-using-docker\/","name":"A Quick Guide to Local WordPress Development Using Docker","isPartOf":{"@id":"https:\/\/themeisle.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/themeisle.com\/blog\/local-wordpress-development-using-docker\/#primaryimage"},"image":{"@id":"https:\/\/themeisle.com\/blog\/local-wordpress-development-using-docker\/#primaryimage"},"thumbnailUrl":"https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:auto\/h:auto\/q:mauto\/f:best\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2017\/07\/local-wordpress-development-using-docker.png","datePublished":"2017-07-17T09:58:42+00:00","dateModified":"2023-11-14T22:37:36+00:00","description":"Creating a testing website isn\\'t always easy, but you can really speed up your local WordPress development using Docker. This how to do it!","breadcrumb":{"@id":"https:\/\/themeisle.com\/blog\/local-wordpress-development-using-docker\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/themeisle.com\/blog\/local-wordpress-development-using-docker\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/themeisle.com\/blog\/local-wordpress-development-using-docker\/#primaryimage","url":"https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:auto\/h:auto\/q:mauto\/f:best\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2017\/07\/local-wordpress-development-using-docker.png","contentUrl":"https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:auto\/h:auto\/q:mauto\/f:best\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2017\/07\/local-wordpress-development-using-docker.png","width":2180,"height":1090,"caption":"local WordPress development using Docker"},{"@type":"BreadcrumbList","@id":"https:\/\/themeisle.com\/blog\/local-wordpress-development-using-docker\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Blog","item":"https:\/\/themeisle.com\/blog\/"},{"@type":"ListItem","position":2,"name":"A Quick Guide to Local WordPress Development Using Docker"}]},{"@type":"WebSite","@id":"https:\/\/themeisle.com\/blog\/#website","url":"https:\/\/themeisle.com\/blog\/","name":"Themeisle Blog","description":"WordPress Tutorials and Reviews for Beginners and Advanced","publisher":{"@id":"https:\/\/themeisle.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/themeisle.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/themeisle.com\/blog\/#organization","name":"VertiStudio","alternateName":"Vertigo Studio SA","url":"https:\/\/themeisle.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/themeisle.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:auto\/h:auto\/q:mauto\/f:best\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2024\/02\/VertiStudio_logo1.png","contentUrl":"https:\/\/mllj2j8xvfl0.i.optimole.com\/cb:c5QE.37290\/w:auto\/h:auto\/q:mauto\/f:best\/https:\/\/themeisle.com\/blog\/wp-content\/uploads\/2024\/02\/VertiStudio_logo1.png","width":718,"height":156,"caption":"VertiStudio"},"image":{"@id":"https:\/\/themeisle.com\/blog\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/themeisle.com\/blog\/#\/schema\/person\/0f080762cdcc47aee80f11536fe87242","name":"John Hughes","description":"John is a self-taught WordPress designer and developer. He has been working with the CMS for over a decade, and has experience operating as a freelancer and as part of an agency. He\u2019s dabbled in everything from accessible design to website security. Plus, he has extensive knowledge of online business topics like affiliate marketing.","sameAs":["http:\/\/wordcandy.co"],"url":"https:\/\/themeisle.com\/blog\/author\/john-h\/"}]}},"_links":{"self":[{"href":"https:\/\/themeisle.com\/blog\/wp-json\/wp\/v2\/posts\/7432","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/themeisle.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/themeisle.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/themeisle.com\/blog\/wp-json\/wp\/v2\/users\/14"}],"replies":[{"embeddable":true,"href":"https:\/\/themeisle.com\/blog\/wp-json\/wp\/v2\/comments?post=7432"}],"version-history":[{"count":19,"href":"https:\/\/themeisle.com\/blog\/wp-json\/wp\/v2\/posts\/7432\/revisions"}],"predecessor-version":[{"id":99463,"href":"https:\/\/themeisle.com\/blog\/wp-json\/wp\/v2\/posts\/7432\/revisions\/99463"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/themeisle.com\/blog\/wp-json\/wp\/v2\/media\/68856"}],"wp:attachment":[{"href":"https:\/\/themeisle.com\/blog\/wp-json\/wp\/v2\/media?parent=7432"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/themeisle.com\/blog\/wp-json\/wp\/v2\/categories?post=7432"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/themeisle.com\/blog\/wp-json\/wp\/v2\/tags?post=7432"},{"taxonomy":"hashtags","embeddable":true,"href":"https:\/\/themeisle.com\/blog\/wp-json\/wp\/v2\/hashtags?post=7432"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}