[Docker] Docker Compose

BBeumSeok·2024년 8월 21일
0

Docker

목록 보기
3/4
post-thumbnail
post-custom-banner

Docker Compose 개념

  • 시스템 구축과 관련된 명령어를 하나의 텍스트 파일(정의 파일, ComposeFile)에 기재하여
    시스템 전체를 실행하고 폐기까지 하도록 돕는 도구

  • 시스템 구축을 위한 설정은 YAML 포맷으로 기재한 정의 파일을 사용
    시스템을 일괄적으로 실행(up) 또는 종료(down)할 수 있다.

  • Docker Compose를 사용하면 여러 개의 명령어를 하나의 정의 파일로 실행 가능하다.

Docker Compose 구조

  1. 정의 파일(Compose File)
  • 컨테이너 볼륨을 어떤 설정으로 만들지에 대한 항목 뿐만 아니라 시스템에 대한
    모든 정보를 기재하고, 작성 내용은 도커 명령어와 비슷하지만 다르다.

up 명령어

  • docker run과 비슷한 개념

  • 정의 파일에 기재된대로 이미지를 내려받고, 컨테이너를 생성 및 실행한다.

  • 정의 파일에는 네트워크, 볼륨에 대한 정의도 기재할 수 있어서 주변 환경을 한꺼번에
    생성할 수 있다.

down 명령어

  • 컨테이너와 네트워크를 정지 및 삭제

  • 볼륨과 이미지는 삭제하지 않는다.

  • 컨테이너와 네트워크 삭제없이 종료하고 싶은 경우에는 stop 커맨드를 사용한다.

Docker Compose 파일 작성

  • 도커 컴포즈 정의 파일은 그대로 실행하는 역할을 수행하기 때문에 중요하다.
ex1) apa000ex2 컨테이너를 실행하는 명령어와 아파치 컨테이너 컴포즈 파일의 비교

Docker Compose 파일 만들기

  1. 설치 확인
  • docker compose 명령어로 현재 설치 여부를 확인


  1. 디렉터리 및 파일 생성
  • mkdir dockercompose

  • compose.yaml



  1. 명령어를 통한 실행
  • docker run --name testhttp -d -p 8000:80 httpd
    (httpd는 Redhat 계열(CentOS 등)에서 사용)



  1. 웹에서 접근하여 동작 여부 확인

=> 웹에서 정상적으로 동작하면 httpd daemon이 정상적으로 실행중인 것이다.

  1. compose.yaml 작성



  1. 이전에 실행했던 컨테이너 중지
  • docker ps : 실행 중인 컨테이너를 확인

  • docker container stop [Container ID] : 컨테이너 중지

  1. compose up 명령어 사용

  • docker compose -f compose.yaml up
    => -f 옵션으로 compose.yaml 파일을 가리키고 실행
    => 이전에 docker run 명령어를 사용했을 떄와 마찬가지로 웹에서 같은 결과를 확인할 수 있다.

  1. compose down 사용

  • ctrl + c는 compose 종료

  • compose down은 compose 제거

WordPress 사용하기

  1. wordpress 명령어로 실행 및 환경변수 설정



  1. compose 파일 생성
  • compose-wordpress.yaml

  1. 파일 내용 작성



  1. 이전에 만든 compose.yaml 파일 수정



  1. dockercompose 디렉터리 내에 mysql 디렉터리 생성



  1. compose.yaml 실행
  • docker compose -f compose.yaml up



  1. compose-wordpress.yaml 파일 수정



  1. ls -l mysql/ 명령어
  • 위 명령어로 mysql 내부를 확인한다.


  1. wp 디렉터리 생성
  • mkdir wp

  • ls -l


  1. wordpress 실행
  • docker compose -f compose-wordpress.yaml up


  1. localhost:8080으로 접근 시 WordPress 사이트가 나오게 된다.



  1. 양식 작성 및 설치



  1. 설치가 완료되면 localhost:8080으로 재접속 시 설치된 사이트 접근 가능



profile
Do your best every moment
post-custom-banner

0개의 댓글