프로그래밍 TIP

Docker 에 WordPress 환경 구축하기

여름나라겨울이야기 2016. 12. 30. 11:37
728x90


Docker 에 WordPress 를 설치하면서 전제 사항

WordPress 는 내부적으로 MySQL 또는 MariaDB 를 사용한다.

WordPress 는 한글화 되어야 한다.

DB 는 DBMS 툴로 접근 가능해야 한다.(DBeaver 고려)

좌절: 공식 MySQL 도커 이미지 & 공식 WordPress 도커 이미지 적용

공식 WordPress 도커 이미지는 한글언어팩이 없다.

좌절: 한글화된 WordPress 도커 이미지 찾기

못 찾은 것인가? 없는 것인가?

BitNami 에서 제공하는 WordPress 도커 이미지 적용

영어로 친절하게 다양한 설치 방법을 알려준다. 하지만 나는 영알못.. ㅡㅡ;

https://hub.docker.com/r/bitnami/wordpress/

적당히 영어를 해독해 보면서...

Docker Compose 를 사용하는 것이 제일 편한다.

1. docker-compose.yml 을 다음 내용으로 생성한다.

영문판 설명에는 ports: -'3306:3306' 부분이 없다. 그게 없으면 외부에서 접속이 안 된다능...

그리고 DB 보완을 위해서 mariadb 의 root 의 패스워드를 지정했다. (두 곳의 Key 명이 살짝 다른 것에 주의하자.)

yml 파일은 들여쓰기에 민감한다. 일반 편집기 대신 yml validater 사이트를 사용하는 것을 권장한다.(http://yaml-online-parser.appspot.com/)

version: '2'


services:

        mariadb:

                image: 'bitnami/mariadb:latest'

                ports:

                        - '3306:3306'

                environment:

                        - MARIADB_ROOT_PASSWORD=abc123

                volumes: 

                        - mariadb_data:/bitnami/mariadb 



        wordpress:

                image: bitnami/wordpress:latest

                depends_on:

                        - mariadb

                ports:

                        - '80:80'

                        - '443:443'

                environment:

                        - MARIADB_PASSWORD=abc123

                        - WORDPRESS_USERNAME=admin

                        - WORDPRESS_PASSWORD=admin123

                        - WORDPRESS_EMAIL=expert0226@gmail.com

                        - WORDPRESS_FIRST_NAME=Jongmin

                        - WORDPRESS_LAST_NAME=kim

                        - WORDPRESS_BLOG_NAME=HappyWorld

                volumes:

                        - wordpress_data:/bitnami/wordpress

                        - apache_data:/bitnami/apache

                        - php_data:/bitnami/php


volumes:

        mariadb_data:

                driver: local

        wordpress_data:

                driver: local

        apache_data:

                driver: local

        php_data:

                driver: local 


2. docker compose 를 실행해 컨테이너를 생성하고 구동한다.

docker-compose up -d 

우왕 컨테이너도 만들어지고 자동 구동까지 된다.

위의 yml 의 environment 를 수정하고 다시 적용했을 때, 반영이 안 되는 경우들이 있었다. 

그럴 때는 yml 을 다른 폴더를 만들어 복사하고 그 폴더로 가서 up 하는 게 정신 건강에 좋더라는.. ㅡㅡ;

3. 웹브라우저로 http://localhost/ 로 접근한다.

4. 우측 하단의 화살표를 클릭한다.

5. Log in 링크를 클릭한다.

6. 로그인 정보는... 위에 링크에 있었다. (https://hub.docker.com/r/bitnami/wordpress/)

Environment variables

The WordPress instance can be customized by specifying environment variables on the first run. The following environment values are provided to custom WordPress:

  • WORDPRESS_USERNAME: WordPress application username. Default: user
  • WORDPRESS_PASSWORD: WordPress application password. Default: bitnami
  • WORDPRESS_EMAIL: WordPress application email. Default: user@example.com
  • WORDPRESS_FIRST_NAME: WordPress user first name. Default: FirstName
  • WORDPRESS_LAST_NAME: WordPress user last name. Default: LastName
  • WORDPRESS_BLOG_NAME: WordPress blog name. Default: User's blog
  • MARIADB_USER: Root user for the MariaDB database. Default: root
  • MARIADB_PASSWORD: Root password for the MariaDB.
  • MARIADB_HOST: Hostname for MariaDB server. Default: mariadb
  • MARIADB_PORT: Port used by MariaDB server. Default: 3306

yml 파일에서 변경하지 않았다면 user / bitnami 이고, 위 yml 을 적용했다면 admin / admin123 되겠다.

WordPress 한글화

1. Settings > General 로 이동한다. 맨 아래 Site Language 에서 한국어를 선택하고 [Save Changes] 버튼을 클릭하면 끝.

2. 최종 화면

[시간대], [날짜 표시 형식], [시간 표시 형식] 등은 필요에 따라 변경하자.

DBMS - DBeaver 로 MariaDB 접속

bitnami wordpress 가 사용하는 DB 명은 위의 화면에서 짐작이 가능하다.

DBeaver 의 자세한 사용법은 생략....

Docker-compose 의 주요 명령어들 (출처: 완벽한 IT 인프라 구축을 위한 Docker - 정보문화사)

up 

 컨테이너 생성 및 구동

 scale

 생성할 컨테이너 개수 지정

 ps

 컨테이너 목록 확인

 logs

 컨테이너 로그 출력

 run

 컨테이너 실행 

 start

 컨테이너 구동

 stop

 컨테이너 중지

 restart

 컨테이너 재기동

 kill

 실행 중인 컨테이너 강제 종료

 rm

 컨테이너 삭제








반응형