Skip to content

Latest commit

 

History

History
86 lines (61 loc) · 1.39 KB

File metadata and controls

86 lines (61 loc) · 1.39 KB

02 — Docker Deploy

Install Docker

curl -fsSL https://get.docker.com | sh
systemctl enable docker && systemctl start docker

Verify: docker compose version should show v2.x.

Project Structure

mkdir -p /root/wordpress-site && cd /root/wordpress-site
# Copy docker-compose.yml, nginx.conf, .env from this repo

Configure Environment

cp .env.example .env
nano .env

Set strong passwords and your domain:

MYSQL_ROOT_PASSWORD=your_strong_root_password
MYSQL_DATABASE=wordpress
MYSQL_USER=wordpress
MYSQL_PASSWORD=your_strong_db_password
DOMAIN=yourdomain.com
EMAIL=you@email.com

Launch

docker compose up -d

Verify

# Check all 3 containers are running
docker compose ps

# Check logs
docker compose logs -f wordpress

You should see:

  • db — healthy
  • wordpress — running on :80
  • nginx — running on :80/:443

Useful Commands

# Stop all services
docker compose down

# Restart a single service
docker compose restart nginx

# View WordPress files
docker compose exec wordpress ls /var/www/html

# Access MySQL
docker compose exec db mysql -u wordpress -p

Backup

# Database backup
docker compose exec db mysqldump -u root -p wordpress > backup.sql

# Files backup
docker cp $(docker compose ps -q wordpress):/var/www/html ./wp-backup

Next Step

03 — SSL & HTTPS