[Docker] WordPress: 도커에서 쉽게 블로그 및 웹사이트 운영하는 방법




개요

WordPress는 세계에서 가장 인기 있는 CMS(콘텐츠 관리 시스템) 중 하나입니다. 도커(Docker)를 활용하면 WordPress를 빠르고 간편하게 배포하고 유지 관리할 수 있습니다. 본 글에서는 WordPress를 도커 환경에서 설치하고 운영하는 방법을 자세히 다룹니다.

1. WordPress란?

WordPress는 PHP 기반의 오픈소스 CMS로, 블로그, 기업 웹사이트, 쇼핑몰 등 다양한 유형의 웹사이트를 구축하는 데 사용됩니다. 플러그인과 테마를 활용하여 원하는 기능을 쉽게 추가할 수 있으며, 전 세계 수많은 개발자와 커뮤니티의 지원을 받을 수 있습니다.

WordPress의 주요 특징

사용자 친화적인 인터페이스 – 코드 없이도 쉽게 웹사이트를 제작 가능
강력한 확장성 – 수많은 플러그인과 테마 지원
SEO 친화적 – 검색 엔진 최적화(SEO) 기능 내장
다양한 콘텐츠 관리 기능 – 블로그, 페이지, 멀티미디어 관리 기능 제공
오픈소스 – 자유롭게 수정 및 배포 가능


2. 도커(Docker)로 WordPress 설치하기

도커를 사용하면 WordPress와 데이터베이스(MySQL 또는 MariaDB)를 컨테이너로 분리하여 손쉽게 관리할 수 있습니다. 여기에서는 Docker Compose를 활용하여 WordPress를 배포하는 방법을 설명합니다.

2.1. 필수 조건

  • Docker 및 Docker Compose가 설치된 서버
  • 기본적인 Linux 명령어 사용 가능

2.2. docker-compose.yml 파일 작성

아래의 docker-compose.yml 파일을 작성하여 WordPress와 MySQL을 실행할 수 있습니다.

version: '3.8'

services:
  wordpress:
    image: wordpress:latest
    container_name: wordpress
    restart: always
    ports:
      - "8080:80"
    environment:
      WORDPRESS_DB_HOST: db
      WORDPRESS_DB_USER: wordpress
      WORDPRESS_DB_PASSWORD: wordpress
      WORDPRESS_DB_NAME: wordpress
    volumes:
      - wordpress_data:/var/www/html

  db:
    image: mysql:5.7
    container_name: wordpress_db
    restart: always
    environment:
      MYSQL_DATABASE: wordpress
      MYSQL_USER: wordpress
      MYSQL_PASSWORD: wordpress
      MYSQL_ROOT_PASSWORD: rootpassword
    volumes:
      - db_data:/var/lib/mysql

volumes:
  wordpress_data:
  db_data:

2.3. 도커 컨테이너 실행

위의 docker-compose.yml 파일이 있는 디렉터리에서 다음 명령어를 실행합니다.

docker-compose up -d

이제 WordPress가 http://localhost:8080 또는 서버 IP:8080에서 실행됩니다.


3. WordPress 설정 및 관리

3.1. 초기 설정

웹 브라우저에서 http://localhost:8080에 접속하여 다음과 같은 초기 설정을 진행합니다.

  1. 언어 선택 (한국어 지원)
  2. 사이트 제목, 관리자 계정, 비밀번호 입력
  3. 설정 완료 후 로그인하여 대시보드 접속

3.2. 플러그인 및 테마 설치

WordPress 관리 페이지에서 플러그인 → 새로 추가를 통해 다양한 기능을 추가할 수 있습니다.
✅ 추천 플러그인:

  • Yoast SEO – 검색 엔진 최적화(SEO)
  • Elementor – 드래그 앤 드롭 페이지 빌더
  • WP Super Cache – 사이트 속도 최적화

테마는 디자인 → 테마에서 원하는 디자인을 선택하여 설치할 수 있습니다.


4. WordPress 컨테이너 관리

4.1. 컨테이너 확인 및 로그 조회

docker ps  # 실행 중인 컨테이너 확인
docker logs wordpress  # WordPress 컨테이너 로그 보기
docker logs wordpress_db  # 데이터베이스 컨테이너 로그 보기

4.2. WordPress 백업 및 복원

데이터 손실 방지를 위해 볼륨을 백업하는 것이 중요합니다.

백업 실행

docker-compose down
tar -czvf wordpress_backup.tar.gz wordpress_data db_data

백업 복원

tar -xzvf wordpress_backup.tar.gz
docker-compose up -d

5. Nginx 및 SSL 적용 (선택 사항)

보안을 강화하고 성능을 최적화하려면 Nginx를 리버스 프록시로 설정하고 SSL을 적용하는 것이 좋습니다.

5.1. Nginx 리버스 프록시 설정

아래의 nginx.conf 파일을 작성하여 Nginx가 WordPress로 트래픽을 전달하도록 설정합니다.

server {
    listen 80;
    server_name example.com;

    location / {
        proxy_pass http://wordpress:80;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
}

5.2. Let’s Encrypt를 이용한 무료 SSL 적용

Certbot을 사용하여 SSL 인증서를 설치할 수 있습니다.

sudo apt install certbot python3-certbot-nginx -y
sudo certbot --nginx -d example.com -d www.example.com

이제 HTTPS를 통한 보안 접속이 가능해집니다.


6. 결론

도커를 활용하면 WordPress 설치 및 관리를 보다 쉽고 효율적으로 할 수 있습니다. 특히 Docker Compose를 사용하면 몇 개의 명령어만으로 배포할 수 있으며, 백업 및 복원도 간단해집니다.




Leave a Comment