🧩 DevOps/Docker

[Docker] Docker Compose로 WordPress 배포하기

nayoungs 2022. 5. 13. 23:37
728x90

 

Docker의 IaC인 Docker Compose를 이용하여 WordPress를 배포해보자

 

 

 

환경 구성

 

먼저 실습을 진행할 디렉토리를 생성한다.

$ mkdir wp
$ cd wp

다음으로 WordPress를 생성 및 구성하는 docker-compose.yaml을 작성한다.

 

docker-compose.yaml

version: "3"

services:
  wp-db:
    image: mysql:5.7
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: P@ssw0rd
      MYSQL_DATABASE: wordpress
      MYSQL_USER: wpadm
      MYSQL_PASSWORD: P@ssw0rd
    volumes:
      - wp-db-vol:/var/lib/mysql
    networks:
      - wp-net

  wp-web:
    depends_on:
      - wp-db
    image: wordpress:5-apache
    restart: always
    environment:
      WORDPRESS_DB_HOST: wp-db
      WORDPRESS_DB_USER: wpadm
      WORDPRESS_DB_PASSWORD: P@ssw0rd
      WORDPRESS_DB_NAME: wordpress
    ports:
      - "80:80"
    volumes:
      - wp-web-vol:/var/www/html
    networks:
      - wp-net

volumes:
  wp-db-vol:
  wp-web-vol:

networks:
  wp-net:

서비스들끼리는 서로 어는 것이 먼저 만들어질지 모르기 때문에,

데이터베이스가 먼저 생성될 수 있도록 depends_on 지시어를 사용한다.

관련된 내용은 Docker HubWordPress 이미지 description에서도 확인할 수 있다.

 

다음으로 docker compose를 실행하자.

$ docker compose up -d 
$ docker compose ps   
NAME                COMMAND                  SERVICE             STATUS              PORTS
wp-wp-db-1          "docker-entrypoint.s…"   wp-db               running             33060/tcp
wp-wp-web-1         "docker-entrypoint.s…"   wp-web              running             0.0.0.0:80->80/tcp, :::80->80/tcp

 

접속 확인

 

 

삭제

 

-v 옵션을 사용하여 볼륨까지 함께 삭제한다.

$ docker compose down -v



 

 

728x90