Docker와 Docker Compose로 WordPress 설치하는 방법

Docker를 이용해 워드프레스와 데이터베이스 환경을 빠르게 구축하고 실행하는 방법을 단계별로 안내합니다.

도커와 도커 컴포즈를 활용하면 복잡한 웹 서버 설정 없이 몇 번의 명령어 입력만으로 워드프레스를 독립된 환경에 안전하게 설치할 수 있습니다. 이 글에서는 설정 파일 작성부터 컨테이너 실행, 정상 동작 확인까지 전 과정을 다룹니다.

사전 준비물

작업을 시작하기 전에 시스템에 다음 도구들이 설치되어 있어야 합니다.

프로젝트 디렉토리 생성 및 설정

워드프레스와 데이터베이스가 각각 별도의 컨테이너로 동작하도록 설정 파일을 구성합니다. 작업할 폴더를 만들고 그 안에 설정 파일을 작성합니다.

mkdir wordpress-docker
cd wordpress-docker
touch docker-compose.yml

도커 컴포즈 파일 작성

관련 글: Docker Compose 설정 방법

생성한 docker-compose.yml 파일에 아래 내용을 입력합니다. 데이터베이스와 워드프레스 이미지 버전, 그리고 내부 네트워크 통신을 위한 설정이 포함됩니다.

docker-compose.ymlYAML

version: '3.8'
services:
  db:
    image: mysql:8.0
    container_name: wp_mysql
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: secretpassword
      MYSQL_DATABASE: wordpress
      MYSQL_USER: wp_user
      MYSQL_PASSWORD: wp_password
    volumes:
      - db_data:/var/lib/mysql
  wordpress:
    image: wordpress:latest
    container_name: wp_site
    restart: always
    ports:
      - "8080:80"
    environment:
      WORDPRESS_DB_HOST: db:3306
      WORDPRESS_DB_NAME: wordpress
      WORDPRESS_DB_USER: wp_user
      WORDPRESS_DB_PASSWORD: wp_password
    volumes:
      - wp_data:/var/www/html
volumes:
  db_data:
  wp_data:

컨테이너 실행

설정 파일이 준비되었다면 백그라운드 모드로 컨테이너를 실행합니다. 필요한 이미지를 자동으로 내려받은 뒤 서비스를 시작합니다.

docker-compose up -d

설치 확인 및 초기 설정

관련 글: 워드프레스 활용법

웹 브라우저를 열고 주소창에 http://localhost:8080을 입력합니다. 정상적으로 접속되었다면 워드프레스 언어 선택 화면이 나타납니다. 안내에 따라 사이트 제목, 관리자 계정 정보를 입력하면 설치가 완료됩니다.

TIP

데이터베이스 컨테이너가 완전히 실행되는 데 수 초의 시간이 소요될 수 있습니다. 접속 시 오류가 발생한다면 1분 정도 기다린 후 새로고침해 보세요.

자주 묻는 질문

포트 번호를 8080 대신 다른 번호로 바꿀 수 있나요?

docker-compose.yml 파일 내 ports 항목의 “8080:80” 부분을 원하는 포트로 변경하면 됩니다. 예를 들어 “80:80″으로 설정하면 포트 번호 없이 접속할 수 있습니다.

컨테이너를 중지하려면 어떻게 해야 하나요?

프로젝트 폴더 안에서 docker-compose down 명령어를 실행하면 데이터 손실 없이 컨테이너가 안전하게 중지 및 삭제됩니다.

운영 및 관리 팁

도커를 이용한 환경에서는 정기적인 볼륨 백업이 핵심입니다. 컨테이너 자체는 언제든 삭제하고 새로 만들 수 있지만, db_datawp_data 볼륨에 저장된 파일과 데이터베이스는 별도로 백업해 두어야 데이터 유실을 방지할 수 있습니다.

실제 서비스를 외부에 공개할 때는 8080 포트 대신 리버스 프록시(Nginx Proxy Manager 등)와 SSL 인증서를 연동해 보안을 강화하는 방식을 권장합니다.

댓글 남기기

이메일 주소는 공개되지 않습니다.