[docker-compose] 로 wordpress 서비스 구현하기

김우경·2021년 4월 15일
0

ci/cd 찍먹

목록 보기
5/13

docker-compose란?

공식문서에 따르면,
docker compose는 여러개의 컨테이너를 실행시키는 docker application을 위한 tool이다. yaml파일을 이용해서application의 서비스를 구성할 수 있고, 컨테이너의 실행 옵션, 컨테이너 간의 실행 순서나 의존성도 관리할 수 있다.

크게 3가지 스텝으로 compose를 사용한다.

  1. Dockerfile에 만드려는 application의 환경 정의

  2. docker-compose.yml 파일에 application을 만드는 service 정의 -> 독립된 환경에서 실행 가능

  3. docker compose up 명령어 실행
    -> docker compose가 전체 application 실행

docker-compose 설치하기

Docker 공식 문서 중 Install Docker Compose를 참고해서 설치한다.


사용중인 OS에 맞춰서 설치하면 되는데, 나는 ec2 ubuntu machine안에 설치하기 때문에 Linux 선택 !

  1. 현재 Stable version의 docker-compose 설치
    sudo curl -L "https://github.com/docker/compose/releases/download/1.29.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

  2. 권한 주기
    sudo chmod +x /usr/local/bin/docker-compose

    설치가 완료되었음을 알 수 있다.

WordPress 예제

Docker 공식 문서의 Compose and WordPress를 참고했다.

Define the project🔗

  1. project directory를 만든다.
    mkdir my_wordpress
  2. 만든 디렉토리안에 docker-compose.yml 파일을 만든다.
    cd my_wordpress
version: "3.9"
    
services:
  db:
    image: mysql:5.7
    volumes:
      - db_data:/var/lib/mysql
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: somewordpress
      MYSQL_DATABASE: wordpress
      MYSQL_USER: wordpress
      MYSQL_PASSWORD: wordpress
    
  wordpress:
    depends_on:
      - db
    image: wordpress:latest
    ports:
      - "8000:80"
    restart: always
    environment:
      WORDPRESS_DB_HOST: db:3306
      WORDPRESS_DB_USER: wordpress
      WORDPRESS_DB_PASSWORD: wordpress
      WORDPRESS_DB_NAME: wordpress
volumes:
  db_data: {}

Build the project🔗

실행중인 컨테이너가 있다면 sudo docker rm -f를 이용해서 지우고, docker-compose up을 수행한다.
sudo docker-compose up -d

위와 같이 서비스를 실행해준다.

컨테이너가 잘 돌고있음!

wordpress

ec2의 퍼블릭 IPv4주소:{설정한 포트}로 접속해본다. docker-compose.yml에 8080포트로 설정해놨으므로 퍼블릭 IPv4주소:8080으로 접속 !

자라란,,,

언어는 적절하게,, 영어나 한국어로 설정해주고 정보를 입력 후 로그인!

하면 이렇게 dashboard가 나온다.

references

profile
Hongik CE

0개의 댓글