Maxima's Lab

[Docker] Docker-Compose를 활용한 WordPress 배포하는 방법 본문

Docker

[Docker] Docker-Compose를 활용한 WordPress 배포하는 방법

Minima 2024. 3. 27. 22:21
728x90
SMALL

안녕하세요, 오늘은 Docker-Compose를 활용해서 WordPress를 배포하는 방법에 대해서 알아보겠습니다.

 

먼저 Docker-Compose를 적용하기 위한 word_press.yml 파일은 다음과 같습니다.

version: '3.1'

services:
  wordpress:
    container_name: mywordpress
    image: wordpress:latest
    ports:
      - "8000:80"
    environment:
      WORDPRESS_DB_HOST: db
      WORDPRESS_DB_USER: wordpress
      WORDPRESS_DB_PASSWORD: wordpress
      WORDPRESS_DB_NAME: wordpress
    restart: always
    volumes:
      - wordpress_data:/var/www/html
    networks:
      - mynetwork

  db:
    container_name: certainmysql
    image: mysql:5.7
    environment:
      MYSQL_ROOT_PASSWORD: somewordpress
      MYSQL_DATABASE: wordpress
      MYSQL_USER: wordpress
      MYSQL_PASSWORD: wordpress
    restart: always
    volumes:
      - db_data:/var/lib/mysql
    networks:
      - mynetwork

volumes:
  wordpress_data:
  db_data:

networks:
  mynetwork:

 

위의 애플리케이션을 구성하기 위한 Services(Containers)는 다음과 같습니다.

 

  1. wordpress
  2. db

총 2개의 Services(Containers)로 구성되어 있습니다.

 


순차적으로, 첫번째 Service인 wordpress에 대해서 알아보겠습니다.

 

  wordpress:
    container_name: mywordpress
    image: wordpress:latest
    ports:
      - "8000:80"
    environment:
      WORDPRESS_DB_HOST: db
      WORDPRESS_DB_USER: wordpress
      WORDPRESS_DB_PASSWORD: wordpress
      WORDPRESS_DB_NAME: wordpress
    restart: always
    volumes:
      - wordpress_data:/var/www/html
    networks:
      - mynetwork

 

  • container_name : 사용 할 컨테이너 이름 (Unique 해야함)
  • image : WordPress Docker Image 중 최신 이미지를 사용
  • ports: 호스트의 포트(8000)을 컨테이너 내부 포트(80)에 맵핑
  • environment: WordPress Container에서 사용할 환경 변수 설정
  • restart: 컨테이너가 충돌하거나 서버가 재부팅되는 경우 컨테이너가 다시 시작하도록 설정
  • volumes: Volume Mount
  • networks: 사용자 정의 네트워크에 연결

 

이어서, db Service(Container)에 대해서 설명하겠습니다.

 

  db:
    container_name: certainmysql
    image: mysql:5.7
    environment:
      MYSQL_ROOT_PASSWORD: somewordpress
      MYSQL_DATABASE: wordpress
      MYSQL_USER: wordpress
      MYSQL_PASSWORD: wordpress
    restart: always
    volumes:
      - db_data:/var/lib/mysql
    networks:
      - mynetwork

 

첫번째 container와 유사하게 container_name, image, environment, restart, volumes, networks를 위와 같이 설정하였습니다.

 


 

다음 명령어를 통해 빌드합니다.

 

docker-compose -f word_press.yml up -d

 

docker port mywordpress

 

0.0.0.0:8000 접속 결과

 


이상으로, Docker-Compose를 활용해서 WordPress를 배포하는 방법에 대해서 알아보았습니다.

감사드립니다.

728x90
LIST
Comments