Navigation Menu

Skip to content

Instantly share code, notes, and snippets.

@jasdeepkhalsa
Created August 18, 2020 00:07
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jasdeepkhalsa/ff77cc49adfe73cf1b08e778912e7ead to your computer and use it in GitHub Desktop.
Save jasdeepkhalsa/ff77cc49adfe73cf1b08e778912e7ead to your computer and use it in GitHub Desktop.
Wordpress in Docker & Docker Compose
version: '3.3'
services:
wordpress:
depends_on:
- db
- phpmyadmin
image: wordpress:latest
ports:
- 8000:80
restart: always
environment:
WORDPRESS_DB_HOST: db:3306
WORDPRESS_DB_USER: dbuser
WORDPRESS_DB_PASSWORD: dbpass
WORDPRESS_DB_NAME: dbname
volumes:
- ./wordpress:/var/www/html
db:
image: mysql:latest
volumes:
- ./config/mysqldump.sql:/docker-entrypoint-initdb.d/init.sql
- db_data:/var/lib/mysql
restart: always
environment:
MYSQL_ROOT_PASSWORD: wordpress
MYSQL_DATABASE: dbname
MYSQL_USER: dbuser
MYSQL_PASSWORD: dbpass
phpmyadmin:
depends_on:
- db
image: phpmyadmin/phpmyadmin:latest
restart: always
ports:
- 8080:80
environment:
PMA_HOST: db
MYSQL_ROOT_PASSWORD: wordpress
# Command line interface to wordpress
wpcli:
build: ./wpcli/
image: wpcli
volumes:
- ./wordpress:/var/www/html
working_dir: /var/www/html
# Check availability of essential services
healthcheck:
image: wpcli
build: ./wpcli/
command: sh -c "/wait"
environment:
- WAIT_HOSTS=db:3306, wordpress:8000
- WAIT_BEFORE_HOSTS=${WAIT_BEFORE_HOSTS:-30}
- WAIT_AFTER_HOSTS=${WAIT_AFTER_HOSTS:-15}
- WAIT_HOSTS_TIMEOUT=${WAIT_HOSTS_TIMEOUT:-300}
- WAIT_SLEEP_INTERVAL=${WAIT_SLEEP_INTERVAL:-30}
- WAIT_HOST_CONNECT_TIMEOUT=${WAIT_HOST_CONNECT_TIMEOUT:-30}
volumes:
db_data: {}

Install Docker CE & Docker Compose

sudo dpkg -i containerd.io_1.2.13-2_amd64.deb
sudo dpkg -i docker-ce-cli_19.03.12_3-0_ubuntu-bionic_amd64.deb
sudo dpkg -i docker-ce_19.03.12_3-0_ubuntu-bionic_amd64.deb
sudo docker run hello-world
sudo curl -L "https://github.com/docker/compose/releases/download/1.26.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
docker-compose --version

Build Container using docker-compose

sudo COMPOSE_HTTP_TIMEOUT=200 docker-compose up --build
sudo docker-compose ps --services
sudo docker ps
sudo docker stop <containerId>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment