프로그래밍/docker
도커로 스프링부트 로그 파일 마운트(볼륨) 하는 방법
승민아
2024. 5. 26. 09:55
컨테이너에서 돌아가고 있는 서버에서 남긴 로그 파일들을 호스트에서 보관관리를 하고 싶었다.
도커로 MySQL 이미지 파일을 volumes로 마운트를 해봤었다.
https://non-stop.tistory.com/721
나는 volumes가 디비 관련해서 지원하는 옵션인줄 알았으나
사실 도커 컨테이너와 호스트를 마운트하는 원리는 똑같았었다.
도커의 볼륨 설정이 마운트하는 설정이였던 것이였다.
로그 파일을 생성하는 설정 파일인
logback-spring.xml의 일부이다.
현재 서버 컨테이너의 "./logs/login.txt" 경로에 파일이 생성된다.
=> 즉 컨테이너에서 서버 파일이 실행되는 위치인 "/logs" 폴더를 호스트와 연결할 필요가 있다.
docker-compose.yml를 다음과 같이 volumes로 마운트 설정을 해주면된다.
version: '3'
services:
server:
...
volumes:
- /home/ubuntu/docker/logs:/logs
- volumes에 - {호스트 경로}:{컨테이너 경로}로 컨테이너 경로를 호스트 경로로 마운트할 수 있다.
- 현재 호스트의 "/home/ubuntu/docker/logs"를 컨테이너 "/logs"와 마운트한 상태이다.
컨테이너에 접속해서 "/logs"에 생성된 로그 파일을 확인해봤다.
이제 호스트에서 "/home/ubuntu/docker/logs" 경로에 파일들을 확인해보자.
잘 마운트 되었다.
컨테이너에서 생성된 로그 파일을 이제 호스트에서 관리할 수 있다.!