memostack
article thumbnail
Published 2020. 4. 10. 14:52
docker-compose.yml 작성하기 DevOps/Docker
블로그를 이전하였습니다. 2023년 11월부터 https://bluemiv.github.io/에서 블로그를 운영하려고 합니다. 앞으로 해당 블로그의 댓글은 읽지 못할 수 도 있으니 양해바랍니다.
반응형

docker compose

docker 컨테이너를 실행할때 docker run 명령어를 사용한다.

 

여러개의 컨테이너를 실행 시킬때, 매번 docker run 명령어를 여러번 실행 하는것을 번거롭다. 이때, 도커 컴포즈(docker compose) 를 사용하면 편한다.

 

docker compose 는 일괄적으로 컨테이너를 실행하고 중지시킬 수 있다. (많은 컨테이너를 관리할때 편리함)

 

참고

  • docker compose 에서는 컨테이너를 서비스(services) 라고 부른다.
  • 컴포즈를 이용하여 서비스를 띄울때, docker-compose.yml 파일을 작성해야 한다.

 

docker-compose.yml 작성

version: "3.7"
services:
  jenkins:
    container_name: jenkins
    image: "jenkins:2.60.3"
    ports:
      - 80:8080
      - 50000:50000
    volumes:
      - ./jenkins:/var/jenkins_home
    environment:
      - TZ=Asia/seoul
    restart: always

version

  • 2버전과 3버전이 있다. 3만 쓰게 되면 가장 최신 버전으로 인식한다. 위와같이 구체적으로 버전을 명시할 수 있다.

services

  • 서비스들에 대한 정보를 명시한다. 본 글에서는 jenkins를 예시로 든다.

container_name

  • 컨테이너의 이름을 명시한다.

image

  • 가져올 이미지를 명시한다.

ports

  • 포트 매핑 정보를 명시한다. (호스트:컨테이너)

volumes

  • 볼륨을 매핑한다. (호스트:컨테이너)

environment

  • 컨테이너의 환경변수를 명시한다.

 

docker compose 명령어

실행

d 옵션을 추가하는 것을 권장한다.

docker-compose up -d

중지

docker-compose down

재시작

docker-compose restart

로그

docker-compose logs -f

f 옵션: 계속해서 로그가 업데이트 되어 콘솔에 뿌려준다.

 

docker-compose logs -f <컨테이너 이름>

뒤에 컨테이너 이름을 명시해주면, 해당 컨테이너만 로그를 볼 수 있다.

 

Reference

반응형
블로그를 이전하였습니다. 2023년 11월부터 https://bluemiv.github.io/에서 블로그를 운영하려고 합니다. 앞으로 해당 블로그의 댓글은 읽지 못할 수 도 있으니 양해바랍니다.
profile

memostack

@bluemiv_mm

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!