본문으로 바로가기

Docker-compose yaml 작성

category 프로그래밍 스터디/Docker 2021. 8. 17. 18:30
반응형

docker-compose는 yaml 문서를 통하여 다중 컨테이너 어플리케이션을 정의하고 공유할 수 있도록 개발된 도구입니다.
여러 컨테이너를 한 파일에서 작성하여 모두 관리하고 연결하여 사용할 수 있습니다.


# docker-compose의 버전을 명시. 버전별로 명령어등의 약간의 차이가 있다.
version: '2.2'

services:
    tomcat: # 서비스 이름
        container_name: container_name_01 # 컨테이너 이름
        image: tomcat:9.0-jdk8-openjdk # 컨테이너 이미지:버전
        ports:
            - "80:8080"  # {컨테이너 외부 포트}:{컨테이너 내부 포트}
        volumes:
            - ./tomcat/webapps:/usr/local/tomcat/webapps
            - efs_mount:/etc/server/fileUpload
        restart: always
        ulimits:
            memlock:
                soft: -1
                hard: -1
        mem_limit: 512m # 1m = 1mb, 1g = 1gb 메모리 제한
        cpus: 1 # CPU 프로세스 사용률 1 = 100%(CPU 1개)
        # 위 방식의 명령어를 통한 리소스 제한은 version 2.2에서 지원한다. 다른 버전의 경우 다른 명령어를 찾아서 사용하도록 하자.

# 아래는 aws의 efs를 마운팅하여 도커 컨테이너에서 접근할 수 있도록 정의한 것 입니다.
volumes:
  efs_mount:
    driver: local
    driver_opts:
        type: nfs
        o: addr=fs-********.efs.*******.amazonaws.com,nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2
        device: :/
반응형