<이전 글>
이전 글을 통해서 Docker Compose 파일의 개념을 자세히 학습해보는 시간을 가졌다. 이번 포스팅은 이 글을 토대로 워드프레스를 도커 컴포즈로 실행해보는 실습 과정을 기록해보려 한다.
WordPress는 모두가 아는 것 처럼 유명한 블로그 시스템이다. WordPress 자체 뿐만 아니라 MySQL 컨테이너와 연결해서 두 개의 컨테이너를 관리해보는 실습을 해보려 한다.
✏️Wordpress 컨테이너 설정 정보
설정 | 설명 |
이미지 | wordpress |
Listening Port | 80 |
WORDPRESS_DB_HOST 환경변수 | 디비 주소 (db:3306) |
WORDPRESS_DB_USER 환경변수 | 디비 사용자 (wp) |
WORDPRESS_DB_PASSWORD 환경변수 | 디비 패스워드 (wp) |
WORDPRESS_DB_NAME 환경변수 | 디비 이름 (wp) |
✏️MySQL 컨테이너 설정 정보
이 컨테이너에서는 Wordpress 블로그 시스템에서 저장하고 있는 모든 데이터를 이 MySQL 컨테이너에 저장한다. 또한, 이 데이터베이스에서 데이터가 저장되는 디렉터리는 var/lib/mysql 위치이다.
설정 | 설명 |
이미지 | mysql:5.7 |
Listening Port | 3306 |
MYSQL_ROOT_PASSWORD 환경변수 | 디비 root 비밀번호 |
MYSQL_DATABASE 환경변수 | 디비 데이터베이스 (wp) |
MYSQL_USER 환경변수 | 디비 사용자 (wp) |
MYSQL_PASSWORD 환경변수 | 디비 패스워드 (wp) |
디비 데이터 저장 디렉토리 | /var/lib/mysql |
✏️구성도
✏️yml 파일 만들기
상단의 표에 담긴 설정 정보들을 docker-compose.yml 파일로 옮겨 적은 것이다.
version: '3.3'
services:
db:
image: mysql:5.7
volumes:
- db_data:/var/lib/mysql
environment:
MYSQL_ROOT_PASSWORD: somewordpress
MYSQL_DATABASE: wordpress
MYSQL_USER: wordpress
MYSQL_PASSWORD: wordpress
wordpress:
image: wordpress:latest
ports:
- "60000:80"
restart: always
environment:
WORDPRESS_DB_HOST: db:3306
WORDPRESS_DB_USER: wordpress
WORDPRESS_DB_PASSWORD: wordpress
WORDPRESS_DB_NAME: wordpress
volumes:
db_data: {}
설명
- 먼저 db라는 이름으로 MySQL 서비스를 정의했다.
- volumes 안에 db_data 라는 이름을 적어 두었는데, 이건 가장 하단에 보이는 volumes 정의에서 가져온 것이다.
- 그리고 MySQL이 내부적으로 저장하는 /var/lib/mysql 이라는 디렉토리를 이 db_data에 서로 마운트 했다.
- environment 항목에서 MySQL 설정에 필요한 4가지 설정 값들을 지정해줬다.
- 그리고 그 밑에 wordpress 서비스를 정의했다.
- 이미지로는 wordpress (가장 최신 버전), 그리고 포트는 60000번 포트를 80번 포트로 연결했다. (임의로 지정 가능)
- 환경 변수로는 4가지 값을 지정했는데, 이 중에 DB_USER, PASSWORD, NAME 값은 상단에 MySQL 컨테이너에 지정한 데이터베이스의 이름과 유저, 패스워드 값과 모두 동일하다고 보면 된다.
이렇게 docker-compose.yml 파일을 저장하고 실행을 해보자.
✏️yml 파일 실행
cd /mnt/c/webui_study
내 docker-compose.yml 파일이 webui_study 파일 아래에 있었기 때문에, 우분투 환경에서 C:\webui_study 디렉토리로 접근하기 위해 경로를 WSL 형식으로 변환해주고 해당 디렉토리로 이동하는 명령어를 입력해줬다. (따라서 실습 환경에 따라 이 명령어는 알맞게 변경하거나 입력하지 않아도 무방함)
docker-compose up
그 다음 서비스를 구동시켜주는 docker-compose up 명령어로 서비스를 실행시켜줬다.
✏️결과
짜잔! 명시해 둔 60000번 포트 번호로 접속해주니, wordpress 처음 실행 시 나오는 설정 페이지가 잘 나타나는 것을 확인할 수 있다.
'Containerization > Docker' 카테고리의 다른 글
[Docker-Compose (1/2)] 도커 Compose 톺아보기 (0) | 2024.05.20 |
---|---|
[Docker] 도커 이미지 만드는 법! (feat. Dockerfile) (0) | 2024.05.17 |
[Docker] 도커 build 에러 (ERROR: failed to solve: failed to read dockerfile:) 해결 (0) | 2024.05.17 |
[Docker] Dockerfile에서 명령어 순서가 중요한 이유 (w/ 도커 이미지 레이어 구조) (0) | 2024.05.16 |
[Docker] 도커 컨테이너 명령어 실행 (pwd, exec, -it, /bin/sh) (0) | 2024.05.13 |