
소개: 도커 컴포즈로 워드프레스 설치하기
도커 컴포즈를 사용하여 워드프레스를 설치하면 개발 환경의 일관성을 유지하고, 배포 과정을 효율적으로 만들 수 있습니다. 워드프레스와 데이터베이스와 같은 필요한 서비스를 각기 독립된 컨테이너로 분리해 관리하기 때문에, 환경 설정이 복잡해지는 것을 막고 유지보수 작업이 더욱 간편해집니다.
도커 컴포즈 파일 준비
가장 먼저 docker-compose.yml 파일을 만들어야 합니다. 이 파일은 워드프레스와 MySQL 컨테이너를 함께 정의하고 이들을 서로 연결해주는 역할을 합니다. 다음은 기본적인 docker-compose.yml 예시입니다. 이 코드를 복사해서 프로젝트 폴더 안에 docker-compose.yml이라는 이름으로 저장하세요.
version: '3.3'
services:
db:
image: mysql:8.0
container_name: wordpress-db
restart: always
volumes:
- ./db_data:/var/lib/mysql
environment:
MYSQL_ROOT_PASSWORD: your_root_password
MYSQL_DATABASE: wordpress
MYSQL_USER: wordpressuser
MYSQL_PASSWORD: your_password
ports:
- "3306:3306"
wordpress:
depends_on:
- db
image: wordpress:latest
container_name: wordpress-app
restart: always
ports:
- "8000:80"
environment:
WORDPRESS_DB_HOST: db:3306
WORDPRESS_DB_USER: wordpressuser
WORDPRESS_DB_PASSWORD: your_password
WORDPRESS_DB_NAME: wordpress
volumes:
- ./wordpress_data:/var/www/html
파일 내용 상세 설명
- services: 실행하려는 컨테이너들을 정의하는 부분입니다. 여기서는
db와wordpress라는 두 개의 서비스를 정의했습니다. - db 서비스:
image: mysql:8.0: MySQL 8.0 버전을 사용하도록 설정합니다.volumes:./db_data:/var/lib/mysql은 로컬의./db_data폴더를 컨테이너 내부의 MySQL 데이터 경로에 연결합니다. 이 설정을 통해 컨테이너가 삭제되더라도 데이터베이스 파일이 안전하게 보존됩니다.environment: MySQL 데이터베이스 설정을 위한 환경 변수들을 정의합니다.
- wordpress 서비스:
depends_on: - db:db서비스가 완전히 실행된 후에wordpress서비스가 시작되도록 종속성을 설정합니다.image: wordpress:latest: 최신 버전의 워드프레스 이미지를 사용합니다.ports: 로컬 머신의 포트와 컨테이너의 포트를 연결합니다.8000:80으로 설정하면 로컬의 8000번 포트로 접속해 워드프레스에 접근할 수 있습니다. 로컬 포트는 필요에 따라 다른 번호로 변경할 수 있습니다.environment: 워드프레스가 데이터베이스에 연결하기 위한 환경 변수입니다.WORDPRESS_DB_HOST를db:3306으로 지정하는 것이 중요합니다. 이는 도커 컴포즈 네트워크 내에서db라는 서비스 이름을 이용해 MySQL 컨테이너에 접근하겠다는 의미입니다.volumes:./wordpress_data:/var/www/html은 워드프레스의 설치 파일과 미디어 파일 등이 저장될 로컬 디렉토리를 지정합니다.
설치 및 실행 절차
docker-compose.yml 파일 작성을 마쳤다면, 터미널을 열고 해당 파일이 있는 폴더로 이동합니다.
- 컨테이너 빌드 및 실행:
up:docker-compose.yml에 정의된 서비스를 생성하고 실행합니다.-d: 컨테이너를 백그라운드에서 실행하여 터미널을 계속 사용할 수 있게 합니다.
- 명령어 실행:
docker compose up -d - 설치 완료 확인:위 명령어를 실행하면 도커가 필요한 이미지를 내려받고 컨테이너를 생성합니다. 모든 과정이 완료되면 웹 브라우저를 열고 http://localhost:8000 (또는 설정한 포트)으로 접속하세요. 워드프레스 초기 설정 화면이 나타나면 성공적으로 설치된 것입니다.
유용한 명령어
- 컨테이너 중지:
docker compose down이 명령은 실행 중인 컨테이너를 중지시키고 삭제합니다.volumes에 정의된 데이터는 보존되므로 데이터 손실 걱정은 없습니다. - 로그 확인:
docker compose logs -f컨테이너의 로그를 실시간으로 확인하는 데 유용합니다.-f는 follow 옵션입니다. - 컨테이너 재시작:
docker compose restart