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

1. docker compose

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

 

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

 

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

 

참고

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

 

1.1. docker-compose.yml 작성

<python />
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

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

1.2.  

1.3. docker compose 명령어

1.3.1. 실행

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

<python />
docker-compose up -d

1.3.2. 중지

<python />
docker-compose down

1.3.3. 재시작

<python />
docker-compose restart

1.3.4. 로그

<python />
docker-compose logs -f

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

 

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

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

 

2. Reference

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

memostack

@bluemiv_mm

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