Created
February 18, 2021 18:17
-
-
Save developer-anuragsingh/9dc492d8fd2d91e384e08bdffa3996d2 to your computer and use it in GitHub Desktop.
Docker file to setup WordPress, MariaDb, PhpMyAdmin.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# ref - https://pawelgrzybek.com/configure-a-local-wordpress-development-using-docker/ | |
# ref - https://hub.docker.com/_/wordpress | |
# Step 1. Create Dir where you want to setup you new WordPress project | |
# Step 2. Create a file named as 'docker-compose.yml' | |
# Step 3. Copy this file content into that newly created file. | |
# docker-compose up -d (start all services) | |
# docker-compose down (stop all services) | |
# docker-compose kill (forcefully stop all services) | |
# Version of the Compose file format | |
# Version 3 is the most current and recommended one | |
version: "3" | |
# Top building block that defines | |
# All containers used for this service | |
services: | |
# Container 1 | |
# https://hub.docker.com/_/mysql | |
db: | |
# Image name (optinally version) | |
# https://docs.docker.com/compose/compose-file/#image | |
image: mariadb | |
# Define restart policy | |
# https://docs.docker.com/compose/compose-file/#restart | |
restart: always | |
# Volumes definition | |
# Named volume, allows persisted data but without caring where locally it is stored | |
# https://nickjanetakis.com/blog/docker-tip-28-named-volumes-vs-path-based-volumes | |
volumes: | |
- db_data:/var/lib/mysql | |
# Add environment variables | |
# https://docs.docker.com/compose/compose-file/#environment | |
environment: | |
MYSQL_ROOT_PASSWORD: password | |
MYSQL_DATABASE: wordpress | |
MYSQL_USER: wordpress | |
MYSQL_PASSWORD: wordpress | |
# List of networks to join | |
networks: | |
- wp | |
# Container 2 | |
# https://hub.docker.com/_/wordpress | |
wordpress: | |
# List of dependencies | |
depends_on: | |
- db | |
# Image name (optinally version) | |
# https://docs.docker.com/compose/compose-file/#image | |
# Feel free to add a version of WordPress | |
# I.e. wordpress:5.2.0 | |
image: wordpress | |
# Define restart policy | |
# https://docs.docker.com/compose/compose-file/#restart | |
restart: always | |
# Volumes definition | |
# https://docs.docker.com/compose/compose-file/#volumes | |
# Maps your local folder, to path in a container | |
# Useful for file edits | |
# I like to map only wp-content | |
# We should not care about WP core files | |
volumes: ["./:/var/www/html/wp-content"] | |
# Add environment variables | |
# https://docs.docker.com/compose/compose-file/#environment | |
environment: | |
WORDPRESS_DB_HOST: db:3306 | |
WORDPRESS_DB_USER: wordpress | |
WORDPRESS_DB_PASSWORD: wordpress | |
# Ports mapping | |
ports: | |
- 8181:80 | |
# - 443:443 | |
# List of networks to join | |
networks: | |
- wp | |
# Container 3 | |
# https://hub.docker.com/r/phpmyadmin/phpmyadmin | |
# This one is optional | |
phpmyadmin: | |
# List of dependencies | |
depends_on: | |
- db | |
# Image name (optinally version) | |
# https://docs.docker.com/compose/compose-file/#image | |
image: phpmyadmin/phpmyadmin | |
# Define restart policy | |
# https://docs.docker.com/compose/compose-file/#restart | |
restart: always | |
# Ports mapping | |
ports: | |
- 8080:80 | |
# Add environment variables | |
# https://docs.docker.com/compose/compose-file/#environment | |
environment: | |
PMA_HOST: db | |
MYSQL_ROOT_PASSWORD: password | |
# List of networks to join | |
networks: | |
- wp | |
# Top building block that defines | |
# All networks used for this service | |
networks: | |
wp: | |
# Top building block that defines | |
# All volumes used for this service | |
volumes: | |
db_data: |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment