The new tutorial now uses official Wordpress Docker Image. Signed-off-by: Sanyam Kapoor <1sanyamkapoor@gmail.com>
3.2 KiB
Quickstart: Docker Compose and WordPress
You can use Docker Compose to easily run WordPress in an isolated environment built with Docker containers. This quick-start guide demonstrates how to use Compose to set up and run WordPress. Before starting, you'll need to have Compose installed.
Define the project
-
Create an empty project directory.
You can name the directory something easy for you to remember. This directory is the context for your application image. The directory should only contain resources to build that image.
This project directory will contain a
docker-compose.yamlfile which will be complete in itself for a good starter wordpress project. -
Change directories into your project directory.
For example, if you named your directory
my_wordpress:$ cd my-wordpress/ -
Create a
docker-compose.ymlfile that will start yourWordpressblog and a separateMySQLinstance with a volume mount for data persistence:version: '2' services: db: image: mysql:5.7 volumes: - "./.data/db:/var/lib/mysql" restart: always environment: MYSQL_ROOT_PASSWORD: wordpress MYSQL_DATABASE: wordpress MYSQL_USER: wordpress MYSQL_PASSWORD: wordpress wordpress: depends_on: - db image: wordpress:latest links: - db ports: - "8000:80" restart: always environment: WORDPRESS_DB_HOST: db:3306 WORDPRESS_DB_PASSWORD: wordpressNOTE: The folder
./.data/dbwill be automatically created in the project directory alongside thedocker-compose.ymlwhich will persist any updates made by wordpress to the database.
Build the project
Now, run docker-compose up -d from your project directory. This will pull the needed images, and then start the wordpress and database containers.
If you're using Docker Machine, then docker-machine ip MACHINE_VM gives you the machine address and you can open http://MACHINE_VM_IP:8000 in a browser.
At this point, WordPress should be running on port 8000 of your Docker Host, and you can complete the "famous five-minute installation" as a WordPress administrator.
NOTE: The Wordpress site will not be immediately available on port 8000 because
the containers are still being initialized and may take a couple of minutes before the
first load.

