Running WordPress in Docker offers a stable and repeatable local development setup. It eliminates environment-specific issues and simplifies service management. Using Docker alongside Visual Studio Code improves usability, especially for local development and customization.
Ensure the following components are installed:
Begin by creating a dedicated project folder.
- Open Visual Studio Code.
- Open a terminal in VS Code.
- Create a new directory for your project and navigate into it:
1mkdir wordpress
2cd wordpress
Inside the project directory, create a docker-compose.yml file to define the services for WordPress and its dependencies.
- In Visual Studio Code, create a new file named docker-compose.yml.
- Add the following content to the file:
1services:
2 db:
3 image: mysql:9.3
4 volumes:
5 - ./data/mysql:/var/lib/mysql
6 restart: always
7 environment:
8 MYSQL_ROOT_PASSWORD: password
9 MYSQL_DATABASE: wordpress
10 MYSQL_USER: wordpress
11 MYSQL_PASSWORD: wordpress
12 networks:
13 - wpsite
14
15 phpmyadmin:
16 depends_on:
17 - db
18 image: phpmyadmin:latest
19 restart: always
20 ports:
21 - '8080:80'
22 environment:
23 PMA_HOST: db
24 MYSQL_ROOT_PASSWORD: password
25 networks:
26 - wpsite
27
28 wordpress:
29 depends_on:
30 - db
31 image: wordpress:latest
32 ports:
33 - '8000:80'
34 restart: always
35 volumes:
36 - wordpress_data:/var/www/html
37 - ./wp-content:/var/www/html/wp-content:cached
38 environment:
39 WORDPRESS_DB_HOST: db:3306
40 WORDPRESS_DB_USER: wordpress
41 WORDPRESS_DB_PASSWORD: wordpress
42 networks:
43 - wpsite
44
45volumes:
46 wordpress_data:
47
48networks:
49 wpsite:
- db: MySQL 9.3 container with persistent storage
- phpmyadmin: Web interface for database management at http://localhost:8080
- wordpress: WordPress container accessible at http://localhost:8000, with local wp-content mapping
To launch your WordPress environment:
This starts the containers in detached mode. The initial setup can take a few minutes as Docker downloads the necessary images.
Visit http://localhost:8000 in your browser to complete the WordPress installation (language, site name, user credentials).
On the first run, complete the WordPress installation in your browser by choosing a language and entering site credentials.
Use the following commands for container control:
Stop
This stops and removes containers but retains volume data.
Restart
To develop or install custom themes and plugins:
- Navigate to the wp-content/themes or wp-content/plugins directory in your project folder.
- Add or modify files directly.
- Changes reflect immediately in your running site.
Use Visual Studio Code to modify your WordPress setup:
- Open the project directory in VS Code.
- Edit themes, plugins, or core files.
- Save changes to see them reflected in the browser.
Docker simplifies local WordPress development by providing a containerized, consistent environment. When paired with Visual Studio Code, it allows efficient file management, rapid customization, and reliable performance across different systems.