Docker Compose

2023. 4. 6. 22:09·⚙️ Ops/Docker

💡 Docker Compose Syntax

  • image - 이미지 지정
  • service - 컨테이너를 실행하는 단위, 하위에는 서비스 이름, 서비스 옵션 순으로 내려감
  • entrypoint - dockerfile 보다 docker compose의 entrypoint의 우선순위가 더 높다
  • build - dockerfile 지정
  • port - 포트포워딩
  • volume - 바인드 마운트, 볼륨 지정
  • envionment - 컨테이너의 환경변수 설정
  • depends_on - 실행순서 보장 옵션
  • expose - 컨테이너간 내부 포트 오픈(호스트 접근 불가)

설치

  • curl -L https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/bin/docker-compose
  • chmod +x /usr/local/bin/docker-compose
  • ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose (bin에 심볼릭링크 생성)

명령어

  • docker-compose up -d - 빌드 & 백그라운드 실행
  • docker-compose stop & down - 서비스 중지 & 다운
  • docker-compose down --volume - 서비스 다운 후 볼륨 삭제
  • docker-compose config - 설정 확인
  • docker-compose ps - 실행중인 서비스 확인
  • docker-compose logs -f - 로그 트래킹
  • docker-compose logs [서비스명] - 지정 서비스 로그 확인
  • docker-compose logs [서비스명] [서비스명] - 여러 서비스 로그 확인

설정 파일 병합

  • docker-compose.yaml & docker-compose.override.yaml 작성

예제 - Nginx를 Proxy서버로 둔 로드밸런싱 테스트

  • 준비 - nodejs express api 서버 3대
  • dockerfile + nodejs 소스코드 + nginx.conf -> docker-compose.yaml
  • docker-compose up -d && docker-compose ps
  • LoadBalancer로 접근하면 RR방식으로 순서대로 노드접근

img

저작자표시

'⚙️ Ops > Docker' 카테고리의 다른 글

Docker - Logging  (0) 2023.05.13
Docker - Network  (1) 2023.05.09
Docker - Volume  (0) 2023.05.09
Docker Basic & Dockerfile Syntax  (0) 2023.04.06
Remind Docker  (0) 2023.04.06
'⚙️ Ops/Docker' 카테고리의 다른 글
  • Docker - Network
  • Docker - Volume
  • Docker Basic & Dockerfile Syntax
  • Remind Docker
신건우
신건우
조용한 개발자
  • 신건우
    우주먼지
    신건우
  • 전체
    오늘
    어제
    • 분류 전체보기 (422)
      • 📘 Frontend (71)
        • Markup (1)
        • Style Sheet (2)
        • Dart (8)
        • Javascript (12)
        • TypeScript (1)
        • Vue (36)
        • React (2)
        • Flutter (9)
      • 📘 Backend (143)
        • Java (34)
        • Concurrency (19)
        • Reflection (1)
        • Kotlin (29)
        • Python (1)
        • Spring (42)
        • Spring Cloud (5)
        • Message Broker (5)
        • Streaming (2)
        • 기능 개발 (5)
      • 💻 Server (6)
        • Linux (6)
      • ❌ Error Handling (11)
      • 📦 Database (62)
        • SQL (31)
        • NoSQL (2)
        • JPQL (9)
        • QueryDSL (12)
        • Basic (4)
        • Firebase (4)
      • ⚙️ Ops (57)
        • CS (6)
        • AWS (9)
        • Docker (8)
        • Kubernetes (13)
        • MSA (1)
        • CI & CD (20)
      • 📚 Data Architect (48)
        • Data Structure (10)
        • Algorithm (8)
        • Programmers (17)
        • BaekJoon (5)
        • CodeUp (4)
        • Design Pattern (4)
        • AI (0)
      • ⚒️ Management & Tool (8)
        • Git (7)
        • IntelliJ (1)
      • 📄 Document (10)
        • Project 설계 (6)
        • Server Migration (3)
      • 📄 책읽기 (2)
        • 시작하세요! 도커 & 쿠버네티스 (2)
      • 🎮 Game (4)
        • Stardew Vally (1)
        • Path of Exile (3)
  • 블로그 메뉴

    • 링크

      • Github
    • 공지사항

    • 인기 글

    • 태그

      GStreamer #Pipeline
      React #Markdown
      Lock #Thread #Concurrency
    • 최근 댓글

    • 최근 글

    • hELLO· Designed By정상우.v4.10.0
    신건우
    Docker Compose
    상단으로

    티스토리툴바