도커 컴포즈를 이용하여 워드프레스를 쉽게 구성할 수 있다.
먼저 환경변수를 생성한다.
.env 파일
MYSQL_ROOT_PASSWORD=mysql_root
MYSQL_USER=wp_user
MYSQL_PASSWORD=wp_password
그리고 도커 컴포즈를 생성한다.
docker-compose.yml
version: '3.3'
services:
db:
image: mysql:latest
env_file: .env
environment:
- MYSQL_DATABASE=wordpress
volumes:
- dbdata:/var/lib/mysql
command: --default-authentication-plugin=mysql_native_password
wordpress:
depends_on:
- db
image: wordpress:latest
env_file: .env
environment:
- WORDPRESS_DB_HOST=db
- WORDPRESS_DB_USER=$MYSQL_USER
- WORDPRESS_DB_PASSWORD=$MYSQL_PASSWORD
- WORDPRESS_DB_NAME=wordpress
volumes:
- wordpress:/var/www/html
ports:
- "80:80"
phpmyadmin:
depends_on:
- db
image: phpmyadmin/phpmyadmin:latest
env_file: .env
environment:
PMA_HOST: db
MYSQL_ROOT_PASSWORD: $MYSQL_ROOT_PASSWORD
ports:
- 3333:80
volumes:
wordpress:
dbdata:
도커컴포즈를 통해 각 도커 컨테이너 이미지들의 설정을 진행했다. volumes의 경우 dbdata로 링크되어 도커 컨테이너가 재시작을 해도 persistent 한 볼륨을 구성할 수 있다.
내 경우 VScode를 이용해서 생성했다.
그럼 아래와 같은 메시지를 확인할 수 있다. db, wordpress, phpmyadmin 도커 컨테이너를 생성한다.
Status: Downloaded newer image for phpmyadmin/phpmyadmin:latest
Creating wordpress_project_db_1 ... done
Creating wordpress_project_wordpress_1 ... done
Creating wordpress_project_phpmyadmin_1 ... done
또한 워드프레스 컨테이너가 MySQL 컨테이너에 접근을 실패했다는 로그도 볼 수 있다. 이것은 MySQL 컨테이너가 생성되기 전에 워드프레스 컨테이너가 먼저 생성된 것으로 MySQL 컨테이너가 생성되면 해결된다.
wordpress_1 | MySQL Connection Error: (2002) Connection refused
그럼 브라우저를 통해 127.0.0.1에 접근하면 WordPress가 생성된 것을 확인할 수 있다.
'잡부생활 > Container' 카테고리의 다른 글
도커컴포즈로 node.js 환경 구성하기 (0) | 2019.12.24 |
---|---|
도커컴포즈로 Apache, PHP, MySQL 환경 구성하기 (0) | 2019.12.24 |
도커컴포즈로 리액트 환경 구성하기 (2) | 2019.11.18 |