Docker로 5분 만에 WordPress 설치하는 법 – 초보자 완벽 가이드

Docker로 WordPress를 설치해야 하는 이유

저는 처음 WordPress를 설치할 때 정말 고생했습니다. XAMPP 설치하고, PHP 버전 맞추고, MySQL 설정하고… 한 번 설치하는 데 몇 시간씩 걸렸던 기억이 있어요. 더 큰 문제는 다른 컴퓨터에서 똑같이 설정하려면 또 그 과정을 반복해야 한다는 거였죠.

Docker를 사용하면 이 모든 과정이 정말 5분으로 줄어듭니다. 과장이 아니라 실제로 명령어 몇 줄이면 끝나요. 저도 처음엔 “Docker가 뭐야? 복잡하지 않아?”라고 생각했는데, 막상 써보니 이것만큼 편한 게 없더라고요.

기존 설치 방식의 불편함

전통적인 WordPress 설치 방식은 생각보다 복잡합니다. 웹 서버(Apache나 Nginx), PHP, MySQL을 각각 설치하고 설정해야 하죠. 운영체제마다 설치 방법이 다르고, 버전 호환성 문제도 자주 발생합니다. 특히 Windows에서 작업하다가 Linux 서버로 옮길 때 환경 차이 때문에 에러가 나는 경우가 많았어요.

Docker를 사용하면 달라지는 점

Docker로 5분 만에 WordPress 설치하는 법을 익히면 정말 세상이 달라집니다. 컨테이너 기반이라서 격리된 환경에서 동작하고, 설정 파일 하나로 어디서든 똑같은 환경을 재현할 수 있어요. 제가 가장 좋았던 건 “내 컴퓨터에선 되는데…”라는 말을 안 해도 된다는 점이었습니다.

비교 항목 전통적 설치 Docker 설치
설치 시간 1~3시간 5분 이내
환경 재현성 어려움 (OS별 차이) 쉬움 (완전히 동일)
삭제/정리 복잡 (잔여 파일 많음) 간단 (명령어 한 줄)
여러 버전 관리 거의 불가능 쉽게 가능

어떤 상황에 유용한가

제 경험상 Docker로 5분 만에 WordPress 설치하는 법이 특히 유용한 경우는 이럴 때입니다:

  • 빠르게 테마나 플러그인을 테스트해보고 싶을 때
  • 클라이언트 프로젝트를 시작하기 전 로컬 개발 환경이 필요할 때
  • 여러 WordPress 사이트를 동시에 개발하고 관리할 때
  • 팀원들과 동일한 개발 환경을 공유해야 할 때

시작하기 전 준비사항

Docker와 Docker Compose 설치 확인

먼저 Docker가 설치되어 있어야 합니다. 2026년 현재 Docker Desktop이 가장 간편한 방법이에요. 설치 후 터미널에서 다음 명령어로 확인해보세요:

docker –version
docker-compose –version

저는 처음에 Docker만 설치하고 Docker Compose를 안 깔아서 한참 헤맸던 기억이 있습니다. 최신 Docker Desktop에는 Compose가 기본 포함되어 있으니 걱정 안 하셔도 돼요.

필요한 기본 개념 이해하기

Docker를 처음 접하신다면 이 정도만 알아두시면 됩니다:

  • 컨테이너: 애플리케이션을 실행하는 격리된 공간
  • 이미지: 컨테이너를 만들기 위한 템플릿
  • 볼륨: 데이터를 영구적으로 저장하는 공간
  • Docker Compose: 여러 컨테이너를 한 번에 관리하는 도구

솔직히 저도 처음엔 이 개념들이 헷갈렸어요. 하지만 실제로 써보면 금방 이해됩니다.

프로젝트 디렉토리 구성

작업할 폴더를 하나 만들어주세요. 저는 보통 이렇게 합니다:

mkdir wordpress-docker
cd wordpress-docker

이 폴더 안에 docker-compose.yml 파일을 만들 거예요. 데이터 파일들도 여기에 저장될 예정입니다.

Docker로 5분 만에 WordPress 설치하는 법 관련 이미지

docker-compose.yml 파일 작성하기

이제 본격적으로 Docker로 5분 만에 WordPress 설치하는 법의 핵심 부분입니다. 텍스트 에디터로 docker-compose.yml 파일을 만들고 아래 내용을 작성하세요:

MySQL 컨테이너 설정

먼저 데이터베이스 컨테이너를 정의합니다. 저는 처음에 MySQL 8.0을 썼다가 WordPress와 호환성 문제로 고생했어요. 5.7이 안정적입니다:

version: ‘3.8’
services:
  db:
    image: mysql:5.7
    volumes:
      – db_data:/var/lib/mysql
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: somewordpress
      MYSQL_DATABASE: wordpress
      MYSQL_USER: wordpress
      MYSQL_PASSWORD: wordpress

WordPress 컨테이너 설정

그 다음은 WordPress 컨테이너입니다. db 컨테이너에 의존성을 설정하는 게 중요해요:

  wordpress:
    depends_on:
      – db
    image: wordpress:latest
    ports:
      – “8080:80”
    restart: always
    environment:
      WORDPRESS_DB_HOST: db:3306
      WORDPRESS_DB_USER: wordpress
      WORDPRESS_DB_PASSWORD: wordpress
      WORDPRESS_DB_NAME: wordpress
    volumes:
      – ./wp-content:/var/www/html/wp-content

volumes:
  db_data:

포트를 8080으로 설정한 이유는 80 포트가 이미 사용 중일 수 있어서입니다. 저는 처음에 80 포트를 그대로 써서 “port already allocated” 에러를 만났어요.

환경변수와 볼륨 설정 이해하기

여기서 중요한 포인트 몇 가지를 짚고 넘어가겠습니다:

설정 항목 설명 주의사항
MYSQL_PASSWORD 데이터베이스 비밀번호 실제 운영 시 강력한 비밀번호 사용
ports 외부:내부 포트 매핑 충돌 시 외부 포트 변경
volumes 데이터 영구 저장 이게 없으면 재시작 시 데이터 손실
restart: always 자동 재시작 정책 개발 환경에선 no로 설정 가능

볼륨 설정을 안 해서 컨테이너 재시작할 때마다 데이터가 날아간 경험이 있어요. 꼭 설정하세요!

WordPress 실행 및 접속하기

컨테이너 실행 명령어

이제 정말로 Docker로 5분 만에 WordPress 설치하는 법의 마지막 단계입니다. 터미널에서 이 명령어 하나면 끝입니다:

docker-compose up -d

Editor’s Pick

인체공학 버티컬 마우스
장시간 코딩 손목 보호

자세히 보기

이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.

-d 옵션은 백그라운드에서 실행한다는 의미예요. 처음 실행하면 이미지를 다운로드하느라 시간이 좀 걸립니다. 하지만 두 번째부터는 정말 몇 초면 됩니다.

실행 상태를 확인하려면:

docker-compose ps

두 컨테이너가 모두 “Up” 상태여야 합니다. 저는 한 번 db 컨테이너가 계속 재시작되는 문제가 있었는데, 메모리 부족이 원인이었어요.

WordPress 초기 설정 진행

브라우저에서 http://localhost:8080으로 접속하세요. WordPress 설치 화면이 나타날 겁니다. 언어 선택하고, 사이트 제목, 관리자 계정 정보를 입력하면 됩니다.

여기서 팁 하나: 관리자 아이디를 “admin”으로 하지 마세요. 보안에 취약합니다. 저는 처음에 습관적으로 admin으로 했다가 나중에 바꾸느라 고생했어요.

설치 완료 확인

설치가 완료되면 대시보드에 로그인할 수 있습니다. 테마를 바꾸거나 플러그인을 설치해서 정상 작동하는지 확인해보세요. 저는 항상 “Hello World” 포스트를 실제로 수정해보면서 테스트합니다.

운영 시 알아두어야 할 사항

파일 업로드 권한 문제 해결

이미지를 업로드하다가 “권한이 없습니다” 에러를 만날 수 있어요. 저도 처음엔 당황했는데, 이렇게 해결하면 됩니다:

docker-compose exec wordpress chown -R www-data:www-data /var/www/html/wp-content/uploads

또는 docker-compose.yml에서 볼륨을 마운트할 때부터 권한을 설정할 수도 있습니다. 하지만 솔직히 문제 생길 때 위 명령어로 해결하는 게 더 빠르더라고요.

데이터 백업 및 관리

Docker로 5분 만에 WordPress 설치하는 법을 아는 것도 중요하지만, 데이터 백업은 더 중요합니다. 데이터베이스 백업은 이렇게 합니다:

docker-compose exec db mysqldump -u wordpress -pwordpress wordpress > backup.sql

wp-content 폴더는 이미 로컬에 마운트되어 있으니 그냥 복사하면 됩니다. 저는 주기적으로 Git에 올리거나 클라우드 스토리지에 동기화하고 있어요.

로컬 테스트와 실제 운영 환경의 차이

로컬에서 잘 되던 게 실제 서버에서 안 되는 경우가 있습니다. 특히 이런 차이들을 주의하세요:

항목 로컬 환경 운영 환경
URL localhost:8080 실제 도메인
HTTPS 보통 사용 안 함 필수 (Let’s Encrypt 등)
환경변수 docker-compose.yml에 직접 .env 파일로 분리 권장
성능 리소스 제한 없음 메모리, CPU 제한 필요

특히 URL을 옮길 때는 데이터베이스에서 검색-치환 작업이 필요해요. WP-CLI를 사용하면 편합니다.

자주 묻는 질문 (FAQ)

Q. 포트 충돌이 발생하면 어떻게 하나요?

docker-compose.yml에서 ports 설정을 “8080:80” 대신 “8081:80″이나 다른 포트로 변경하면 됩니다. 저는 여러 WordPress 사이트를 동시에 돌릴 때 8080, 8081, 8082 이런 식으로 포트를 다르게 설정해서 사용하고 있어요. 변경 후 docker-compose down하고 다시 up하면 적용됩니다.

Q. 데이터는 어디에 저장되나요?

두 곳에 저장됩니다. MySQL 데이터는 Docker 볼륨(db_data)에 저장되고, WordPress 파일은 ./wp-content 폴더에 저장됩니다. docker volume ls 명령어로 볼륨 목록을 확인할 수 있어요. 처음엔 이게 헷갈렸는데, 볼륨은 Docker가 관리하는 영역이고, 바인드 마운트(./wp-content)는 실제 내 컴퓨터 폴더라고 이해하면 쉽습니다.

Q. 컨테이너를 삭제하면 데이터도 삭제되나요?

아니요, 볼륨으로 마운트한 데이터는 안전합니다. docker-compose down으로 컨테이너를 내려도 데이터는 유지돼요. 하지만 docker-compose down -v를 실행하면 볼륨까지 삭제되니 조심하세요! 저는 한 번 실수로 -v 옵션을 붙여서 테스트 데이터를 날린 적이 있습니다. 다행히 중요한 데이터는 아니었지만요.

Q. MySQL 8.0 대신 5.7을 사용하는 이유가 뭔가요?

WordPress가 MySQL 8.0과도 호환되긴 하지만, 일부 플러그인에서 인증 방식 문제가 발생할 수 있어요. MySQL 8.0은 caching_sha2_password를 기본으로 사용하는데, 오래된 PHP 클라이언트는 이를 지원하지 않습니다. 5.7이 더 안정적이고 호환성이 좋아서 추천합니다. 꼭 8.0을 써야 한다면 환경변수에 MYSQL_ROOT_HOST와 인증 플러그인 설정을 추가해야 해요.

Q. 실제 운영 서버에 그대로 올려도 되나요?

로컬 테스트용으로는 완벽하지만, 실제 운영에는 추가 설정이 필요합니다. HTTPS 설정, nginx 리버스 프록시, 보안 강화(비밀번호 변경, 방화벽 설정), 자동 백업, 모니터링 등을 추가해야 해요. 저는 운영 환경에서는 docker-compose.prod.yml을 별도로 만들어서 환경변수를 .env 파일로 분리하고, restart 정책도 조정합니다. Docker로 5분 만에 WordPress 설치하는 법은 개발 환경의 시작점이라고 생각하시면 됩니다.

마치며

Docker로 5분 만에 WordPress 설치하는 법을 익히면 정말 많은 것이 달라집니다. 저는 이제 클라이언트 프로젝트를 시작할 때마다 5분 안에 로컬 환경을 구축하고, 테마나 플러그인을 마음껏 실험해볼 수 있게 되었어요.

처음엔 Docker가 어렵게 느껴질 수 있습니다. 저도 그랬으니까요. 하지만 한 번만 제대로 해보시면 “왜 진작 안 썼을까?” 하는 생각이 드실 거예요. 특히 여러 프로젝트를 동시에 관리하는 분들에게는 정말 필수적인 도구입니다.

이 가이드가 여러분의 개발 환경 구축에 도움이 되었으면 좋겠습니다. 막히는 부분이 있으면 댓글로 남겨주세요. 제가 겪었던 시행착오를 공유하면서 함께 해결해나가면 좋겠습니다. 퇴근 후에도 즐거운 코딩 되세요!

Docker로 5분 만에 WordPress 설치하는 법 상세 정보

댓글 달기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

위로 스크롤