웹 서비스

wordpress 설치하기 with docker

&+&& 2023. 5. 30. 01:14

  티스토리와 별도로 wordpress 웹사이트를 만들어보려고 하는데 wordpress는 처음인데다, 실제 서버에서 모든 작업을 하기는 부담스러운 부분이 있어서 로컬 docker 환경에 wordpress를 설치해보려고 합니다.

실행 환경 및 사전 준비사항

실행 환경 : M2 MAC / DOCKER desktop 4.19.0

여기에서는 MAC에서 진행했지만 윈도우에서도 크게 다르지 않습니다.

docker desktop이 안 깔려 있다면 아래 링크를 방문해서 설치해 줍니다.

Docker Desktop 홈페이지

 

Download Docker Desktop | Docker

Docker Desktop is available to download for free on Mac, Windows, or Linux operating systems. Get started with Docker today!

www.docker.com

 

docker compose 파일 다운로드 및 수정

1. 원하는 작업 폴더 생성

2. 생성한 작업 폴더에 docker compose yml 파일 다운로드

  가. 명령어를 통한 다운로드(bitnami wordpress 이미지를 사용합니다.)

curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/wordpress/docker-compose.yml > docker-compose.yml

  나. 아니면 docker-compose.yml 파일을 직접 생성하고 아래의 내용을 입력해도 됩니다.

3. 다운로드 받은 파일 또는 docker-compose.yml 파일을 직접 생성해서 아래의 내용을 편집 또는 작성

version: '2'
services:
  mariadb:
    image: docker.io/bitnami/mariadb:10.6
    volumes:
      # - 'mariadb_data:/bitnami/mariadb'
      - /[원하는 경로]:/bitnami/mariadb
    ports:
      - '3306:3306'
    environment:
      # ALLOW_EMPTY_PASSWORD is recommended only for development.
      - ALLOW_EMPTY_PASSWORD=yes
      - MARIADB_USER=bn_wordpress
      - MARIADB_PASSWORD=bitnami
      - MARIADB_DATABASE=bitnami_wordpress
      - MARIADB_ROOT_PASSWORD=qwer123!
  wordpress:
    image: docker.io/bitnami/wordpress:6
    ports:
      - '80:8080'
      - '443:8443'
    volumes:
      # - 'wordpress_data:/bitnami/wordpress'
      - /[원하는 경로]:/bitnami/wordpress
    depends_on:
      - mariadb
    environment:
      # ALLOW_EMPTY_PASSWORD is recommended only for development.
      - ALLOW_EMPTY_PASSWORD=yes
      - WORDPRESS_DATABASE_HOST=mariadb
      - WORDPRESS_DATABASE_PORT_NUMBER=3306
      - WORDPRESS_DATABASE_USER=bn_wordpress
      - MARIADB_PASSWORD=bitnami
      - WORDPRESS_DATABASE_NAME=bitnami_wordpress
# volumes:
#  mariadb_data:
#    driver: local
#  wordpress_data:
#    driver: local

 

  가. 기본 yml 파일에서 추가 되는 부분은 ports: - '3306:3306' | volumes에는 mount를 원하는 경로를 지정해 주면 됩니다.

  나. 마지막 부분 volumes는 위에서 원하는 경로와 container mount 경로를 지정해 줬으므로 주석 처리해 줍니다.

 

container 실행

1. yml 파일이 위치한 경로를 terminal에서 엽니다.

2. 아래의 명령어를 실행해 줍니다. 아래 이미지처럼 이미지 pull 후 container가 기동됩니다.

docker-compose up -d

docker-compose 실행 예시

3. 다음은 yml 파일 하위에 원하는 경로를 지정한 경우 실제 폴더에 파일이 생성된 내용입니다.

mariadb / wordpress 파일 생성

    원하는 경로에 container 경로 mapping이 잘 되었습니다.

 

4. 이제 웹 브라우저에서 localhost를 열면 wordpress sample page가 열립니다.

5. admin 페이지 접속은 localhost/wp-admin 으로 접속하면 redirect되면서 연결됩니다. 계정 및 비밀번호는 user / bitnami입니다.

 

wordpress 로그인 화면

 

참고로, docker desktop에는 다음과 같이 container가 생성되어 돌아가고 있습니다.

docker desktop containers

 

 

docker & docker-compose의 편리성

  여기에서 소개한 방법외에도 로컬 OS 상에 직접 wordpress를 설치하는 방법, virtualbox 등을 이용해 VM을 생성하고 wordpress를 설치하는 방법, docker를 이용하더라도 소개한 방식과는 다른 방식으로 wordpress를 설치하는 것이 가능합니다.

  저도 container 환경은 익혀가는 중이라서 처음에는 익숙한 VM 상에 설치하는 방법이 제일 먼저 떠올랐습니다만, VM 만들고 그 안에 필요한 파일 다운로드 받아서 설치하고..... 이제 그런 게 좀 버겁게 느껴집니다.

 

  실제로 해보면 docker container 환경이 사용자 측면에서 분명 장점이 존재합니다.

  1. 일단은 가장 빠른 시간안에 구현이 가능하다는 점(물론 시행착오가 없는 경우에)

  2. VM상이나 로컬 OS 상에 구현할 때 개별 환경에서 오는 오류가 발생하지 않는다는 점

  3. 빠르고 강력합니다. 설명이 좀 미흡한 부분도 있겠지만 혹시 안 해보셨다면 한 번 해보시길 추천 드립니다!!