docker compose

초보개발·2022년 6월 14일
0

docker compse

도커 컴포즈는 여러 개의 컨테이너를 사용할 때 서로 통신하고 이 컨테이너들을 모아서 관리하는 것을 말한다. 쉽게 말하면 프로젝트 a에 사용하는 redis 컨테이너, server 컨테이너 등등 하나로 깔끔하게 관리할 수 있도록 해주는 것이다.
도커 컴포즈 파일은 docker-compose.yml이며 yml 형식대로 작성해주면 된다.

구조

version: '3'
services:
  redis-server: #컨테이너 이름
    image: "redis" #이미지
  docker-compose-app: # 컨테이너 이름
    build: .# 이 디렉토리에 있는 Dockerfile 사용
    ports:
    - "12345:8080" # 로컬 호스트 포트:컨테이너 포트
  • version
    도커 컴포즈 파일은 버젼마다 지원하는 옵션이 다르므로 유의해서 작성해야 한다. 여기서는 version: '3'으로 명시할 것이다. 이말은 3으로 시작하는 최신 버전을 사용한다는 걸 의미한다.
  • service
    서비스는 실행하려는 컨테이너들을 정의해야 하는데 각 컨테이너에 맞는 서비스 이름을 작성한다.

실행 명령어

docker-compose up

docker-compose.yml이 있는 디렉토리에서 이 명령어를 실행하면 된다.

docker-compose up --build

--build가 없는 경우 이미지가 없을때에만 이미지를 빌드하고 컨테이너를 시작한다. 그와 반대로 --build가 있는 명령어는 이미지 유무에 상관없이 빌드하고 컨테이너를 시작한다는 차이점이 있다.
즉, 컨테이너를 실행하고 소스코드를 수정하고 다시 도커 컴포즈로 컨테이너를 재시작할 때에는 이 명령어를 사용해 컨테이너를 시작해야 한다.

중지 명령어

docker-compose stop

마찬가지로 docker-compose.yml 파일이 있는 디렉토리에서 실행해야 한다.

삭제 명령어

docker-compose down

컨네이너 중지후 컨테이너와 네트워크까지 삭제해준다.

결과

0개의 댓글