[DOCKER] 도커컴포즈

2021. 10. 28. 22:34·DOCKER
728x90

Docker Compose

  • 여러 컨테이너를 일괄적으로 정의하고 실행할 수 있는 툴
  • 하나의 서비스 운영하기 위해서 여러 개의 애플리케이션이 동작해야함 이러한 컨테이너화된 애플리케이션들을 통합관리를 해줌 
  • YAML 파일로 설정해서 관리 

Docker Compose YAML 파일 구성

version compose 버전 
version : "2"
services 컴포즈를 이용해서 실행할 컨테이너 옵션 정의
service:
 webserver:
  image: nginx
 db:
  image: redis
build 컨테이너 빌드
webapp:
 build: .
image compose를 통해 실행할 이미지를 지정
webapp:
  image: centos:7
command 컨테이너에서 실행될 명령어 지정
app:
 image: node:12-alpine
 command: sh -c "yarn install && yarn run dev"
port 컨테이너가 공개하는 포트를 나열
webapp: 
  image: httpd:latest
  port:
    - 80
    - 8443:443
link 다른 컨테이너와 연계할 때 컨테이너 지정
webserver: 
    image: wordpress:latest
    link:
     db:mysql
expose 포트를 링크로 연계된 컨테이너에게만 공개할 포트
webapp: 
   build: .
volumes 컨테이너에 볼륨을 마운트
webapp:
  image: httpd
  volumes:
    - /var/www/html
environment 컨테이너에 적용할 환경변수를 정의
datebase:
   image: mysql:5.7
   environment: 
     MYSQL_ROOT_PASSWORD: pas
restart 컨테이너가 종료 될때 적용할 restart정책
no: 재시작 되지 않음
always: 컨테이너를 수동으로 끄기전까지 항상 재시작
on-failure: 오류가 있을시 재시작
database:
 image: mysql:5.7
 restart: always
depends_on 컨테이너 간의 종속성을 정의, 정의한 컨테이너가 먼저동작
servies:
  web:
   image: wordpress:latest
   depends_on:
     - db
    db:
      image: mysql

Docker Compose 명령어

docker-compose <command>

up 컨테이너 생성 / 시작 | docker-compose up -d
ps 컨테이너 목록 표시
logs 컨테이너 로그 출력 | docker-compose logs 서비스이름
run 컨테이너 실행
start 컨테이너 시작
stop 컨테이너 정지
restart 컨테이너 재시작
pause 컨테이너 일시 정지
unpause 컨테이너 재개
port 공개 포트 번호 표시
config 구성 확인 | docker-compose config
kill 실행 중인 컨테이너 강제 정지
rm  컨테이너 삭제
down 리소스 삭제 | docker-compoase down
scale 스케일 아웃 | docker-compose scale 서비스이름 = 개수
저작자표시

'DOCKER' 카테고리의 다른 글

[DOCKER] DOCKERFILE 명령어 정리  (0) 2022.05.11
[DOCKER] 컨테이너 볼륨  (0) 2021.10.28
[DOCKER] 컨테이너 관리  (0) 2021.10.28
[DOCKER] 계정 관리자 권한 부여  (0) 2021.10.26
[DOCKER] 삭제방법  (0) 2021.10.26
'DOCKER' 카테고리의 다른 글
  • [DOCKER] DOCKERFILE 명령어 정리
  • [DOCKER] 컨테이너 볼륨
  • [DOCKER] 컨테이너 관리
  • [DOCKER] 계정 관리자 권한 부여
집한구석
집한구석
  • 집한구석
    tgyun615.info
  • 전체
    오늘
    어제
    • 카테고리 (183)
      • JAVA (38)
      • SPRING (15)
      • KOTLIN (23)
      • NETTY (1)
      • DEVOPS (3)
      • DOCKER (7)
      • KUBERNETES (2)
      • JAVASCRIPT (1)
      • SPLUNK (3)
      • ELK (7)
      • KAFKA (2)
      • GO (4)
      • ALGORITHM & DATA STRUCTURE (9)
      • IDE (5)
      • OS (16)
      • NETWORK (14)
      • GCP (2)
      • AWS (2)
      • DATABASE (10)
      • CLEANCODE (7)
      • OTHER (12)
  • 최근 글

  • 태그

    이펙티브코틀린
    JPA
    이펙티브 코틀린
    cleancode
    Kafka
    IntelliJ
    프로그래머스
    엘라스틱서치
    자바
    splunk
    go
    코틀린
    Elk
    java
    AWS
    SQL
    Spring
    docker
    ElasticSearch
    클린코드
  • 링크

    • github
    • linkedin
    • resume
  • hELLO· Designed By 정상우. v4.10.3
집한구석
[DOCKER] 도커컴포즈
상단으로

티스토리툴바