Skip to content

Instantly share code, notes, and snippets.

@owaisahmed5300
Last active April 13, 2024 14:06
Show Gist options
  • Save owaisahmed5300/cdbba406dbdae7caf34e4ce1468b79bd to your computer and use it in GitHub Desktop.
Save owaisahmed5300/cdbba406dbdae7caf34e4ce1468b79bd to your computer and use it in GitHub Desktop.
Basic Configuration for Docker Lamp Stack & WordPress
version: '3.7'
services:
db:
image: mysql:latest
ports:
- 3307:3306
environment:
- MYSQL_USER=iamadmin
- MYSQL_PASSWORD=iamadmin
- MYSQL_ALLOW_EMPTY_PASSWORD=1
volumes:
- ./db:/var/lib/mysql
networks:
- lamp_stack
www:
depends_on:
- db
image: php:8.3-apache
ports:
- 8888:80
- 444:443
networks:
- lamp_stack
volumes:
- ./:/var/www/html
phpmyadmin:
depends_on:
- db
image: phpmyadmin
ports:
- 8889:80
environment:
- PMA_RBITRARY=0
- PMA_HOST=db
- PMA_USER=iamadmin
- PMA_PASSWORD=iamadmin
networks:
- lamp_stack
networks:
lamp_stack:
driver: bridge
version: '3.7'
services:
wordpress:
build:
context: .
dockerfile: Dockerfile
depends_on:
- db
ports:
- "8080:80"
restart: always
environment:
WORDPRESS_DB_HOST: db
WORDPRESS_DB_USER: wordpress
WORDPRESS_DB_PASSWORD: wordpress
WORDPRESS_DB_NAME: wordpress
volumes:
- ./plugins:/var/www/html/wp-content/plugins
- ./themes:/var/www/html/wp-content/themes
- ./uploads:/var/www/html/wp-content/uploads
- ./debug/apache2:/var/log/apache2
- ./debug/php:/var/log/php
networks:
- wordpress-network
db:
image: mysql:5.7
restart: always
ports:
- "3307:3306"
environment:
MYSQL_ROOT_PASSWORD: wordpress
MYSQL_DATABASE: wordpress
MYSQL_USER: wordpress
MYSQL_PASSWORD: wordpress
volumes:
- ./mysql:/var/lib/mysql
networks:
- wordpress-network
phpmyadmin:
depends_on:
- db
image: phpmyadmin/phpmyadmin
restart: always
ports:
- "8081:80"
environment:
PMA_HOST: db
PMA_USER: wordpress
PMA_PASSWORD: wordpress
networks:
- wordpress-network
mailhog:
image: mailhog/mailhog
restart: always
ports:
- "1025:1025" # smtp
- "8025:8025" # web
networks:
- wordpress-network
networks:
wordpress-network:
driver: bridge
FROM wordpress:latest
# Install dependencies
RUN apt-get update && \
apt-get install -y \
wget \
unzip \
git \
&& rm -rf /var/lib/apt/lists/*
# Install Composer
RUN wget -qO- https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer
# Install WP CLI
RUN wget -qO /usr/local/bin/wp https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar && \
chmod +x /usr/local/bin/wp
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment