Time does not change us. It just unfolds us.

Web/Spring Boot

[Spring Boot]Docker-compose

소젬 2021. 10. 27. 17:22

docker-compose란 Docker에서 사용하는 컨테이너 공간을 한 곳에서 관리하기 위한 도구이다. yml파일로 작성하며, docker-compose명령어를 활용하여 여러 개의 컨테이너를 한 번에 관리한다.

장점으로는 

1. Multiple isolated environments on a single host

docker 자체가 isolated environment에서 동작하며 docker-compose가 여러 docker를 한 번에 실행시키는 것을 고려해보면, 당연한 장점 아닌 장점이다. 

2. Preserve volume data when containers are created

볼륨을 보존한다. 이 말은 즉, 기존 컨테이너에 의해 관리되는 volume이 있을 때 새로운 컨테이너가 기존 컨테이너가 사용한 volume을 그대로 사용함으로써 데이터를 보존한다. (기존 컨테이너가 사용한 volume을 새로운 컨테이너에게 복사한다.

3. Only recreate containers that have changed

docker-compose는 설정값을 캐싱한다. 때문에 docker-compose를 재시작할 때 설정이 변경되지 않았으면 캐싱된 값을 그대로 사용한다.

4. Variables and moving a composition between environments

파일 내부에 변수를 설정하여 다양한 환경에서 적용할 수 있다.

 

 

docker-compose.yaml

version : '2.1'
services:
    test-app: 
        container_name: test-app
        image: test-app:latest
        environment:
        volumes:
            - ./h2db:/home/test/h2db
        ports:
            - “8080:8080”
        restart: always

 

  • services : 실질적인 컨테이너 집합 요소, 입력 값으로 하나의 컨테이너가 만들어져 유기적으로 동작
  • container_name : 컨테이너 이름 지정
  • image : Docker hub에 올라가있는 image 리스트에서 사용할 이미지 명과 태그
  • environment : 컨테이너 내부에서 사용할 인자
  • volumes : local 디렉토리와 컨테이너 경로 매칭
  • ports : 외부에서 접속하는 포트를 Docker 내부 포트와 매칭
  • restart : 컨테이너 오류와 같이 종료되었을 때 다시 시작할지 여부

 

작성 후 실행 명령어

# docker-compose up

 

아래 Docker compose로 Spring boot 올리는 예제와 설명이 잘 나와있다.

https://dico.me/back-end/articles/289/ko

 

Docker compose로 Spring Boot 올리기 - Dico

docker-compose를 이용해 spring boot 프레임워크를 올려보자

dico.me

 

 

참고

https://timewizhan.tistory.com/entry/docker-compose-%EB%9E%80#:~:text=docker%20compose%EB%8A%94%20%EC%97%AC%EB%9F%AC%20%EA%B0%9C%EC%9D%98,%EC%97%90%20%EC%8B%A4%ED%96%89%EC%8B%9C%ED%82%A4%EB%8A%94%20%EA%B2%83%EA%B3%BC%20%EA%B0%99%EB%8B%A4.

 

docker compose 란

docker compose에 대해 알아보려고 한다. (참조: docs.docker.com/compose/) docker compose는 여러 개의 docker를 정의하고 실행하는 툴이다. 그래서 kubernetes 처럼 YAML 파일로 여러 개의 docker 내부 속성을..

timewizhan.tistory.com

https://slog.website/post/11 

 

도커 컴포즈 다운로드

https://psychoria.tistory.com/651

 

도커 컴포즈(Docker Compose) 우분투에 설치

Docker Compose는 1개 이상의 컨테이너 어플리케이션을 실행해주는 툴입니다. 일반적으로 대부분의 서비스는 한 개 이상의 어플리케이션으로 구성됩니다. Docker Compose를 사용하면 필요한 모든 컨테

psychoria.tistory.com

 

'Web > Spring Boot' 카테고리의 다른 글

[SpringBoot]Logging과 Log Level  (0) 2021.11.25
[Spring]@Autowired  (0) 2021.11.24
[SpringBoot]banner.txt만들기  (0) 2021.11.22
[Spring Boot]Docker 이미지 빌드  (0) 2021.10.27