I use a package manager called chocolatey to install/uninstall software when I can. If you have chocolatey setup, just run the following command to install docker:
choco install docker-desktop
Kitematic provides a visual interface to docker, so if you don't care much for the command line, I'd recommend installing that as well:
choco install docker-kitematic
After the installation has finished, log out then back in. Run docker desktop by pressing the Windows key and searching for docker desktop. Once docker is ready, you'll see the icon in the system tray stop animating and a login window will appear.
The last step is to make sure Docker is working. Open a new PowerShell window and run the following command:
docker run hello-world
You should see output indicating that Docker is running.
Now that Docker is set up on your system we can start WordPress. Since WordPress requires an instance of MySql running to store all of its data, we need to run two containers and connect them. We'll also want their data to persist if we stop the containers and restart them later. To accomplish this we create a docker-compose file, with volumes for each container.
Save the following file as
docker-compose.yml
.version: "3.3"
services:
db:
image: mysql:5.7
volumes:
- db_data:/var/lib/mysql
ports:
- "3306:3306"
restart: always
environment:
MYSQL_ROOT_PASSWORD: somewordpress
MYSQL_DATABASE: wordpress
MYSQL_USER: wordpress
MYSQL_PASSWORD: wordpress
wordpress:
depends_on:
- db
image: wordpress:latest
volumes:
- wordpress:/var/www/html
ports:
- "8000:80"
restart: always
environment:
WORDPRESS_DB_HOST: db:3306
WORDPRESS_DB_USER: wordpress
WORDPRESS_DB_PASSWORD: wordpress
WORDPRESS_DB_NAME: wordpress
volumes:
db_data: {}
wordpress: {}
Open a shell in the directory where you saved the docker-compose file and run
docker-compose up -d
. After a few minutes, you'll have WordPress running on your machine.Before you can start writing plugins for WordPress, you need to run through the setup pages on your new server. Browse to http://localhost:8000/wp-admin/install.php and follow the instructions.
To create a plugin, you need to add a folder in WordPress'
plugins
directory. To find the root directory, open kitematic by clicking on the docker icon in the system tray and selecting kitematic
from the menu.Now select the WordPress container on the left side of the window, and click
/var/www/html
under the list of volumes on the right side.This will open Windows Explorer with the
html
folder selected. Open it, then browse to wp-content->plugins
. Create a new folder called first-plugin then open it. Create a file called index.php
inside the new folder and paste the following code into it:<?php
/**
* Plugin Name: First Plugin
* Plugin URI: https://voiceify.io
* Description: Your very first plugin!
* Version: 1.0
* Author: Ben Force
* Author URI: https://twitter.com/theBenForce
* License: GPLv2 or later
**/
Save the file and browse to http://localhost:8000/wp-admin/plugins.php, you should your plugin in the list.
I hope this tutorial has given you a good starting point that's easier than installing a PHP server and MySQL. Let me know if you have any suggestions or questions.