개발자
logback-spring.xml 파일을 작성하고, jar파일로 패키징해서 ec2에 도커로 서버를 띄워둔 상태입니다. 컨테이너에서 실행중인 java application에서의 file logging을 ec2 내부로 곧바로 할 수 있나요?
답변 1
익명
작성자
2024년 05월 02일
네 맞습니다.
cozy
engineer, developer 어딘가 • 2024년 05월 02일
2가지 과정으로 진행하면 될 것 같습니다. 첫 번째로는 logback-spring.xml 으로 특정 경로로 로그 파일이 어디에 저장될 지 작성하시면 되고, 이 때의 경로는 컨테이너 내부의 경로입니다. 예를 들어 저희가 컨테이너 내부에서 /home/logs/ 의 항목으로 정했다고 가정해볼께요 두 번째로는 컨테이너 실행시 Host Pc를 특정 경로를 마운트하여 Host Pc (여기선 EC2)와 컨테이너 내부의 특정 경로를 연결하는 것입니다. 원하시는 방향이 EC2에 로그 파일이 배포를 진행해도 계속 남아있는 것을 원하시는 것 같습니다. 만약에 마운트를 하지 않는다면 배포때마다 컨테이너는 사라지고 로그 데이터도 보존할 수 없어요 docker-compose.yml을 쓴다고 가정하고 옵션에 volumes라는 항목이 있는데 거기에 내가 원하는 host pc의 경로를 연결해주는 것을 선언하면 됩니다. 지금은 /home/logs 컨테이너 내부에서 저장하고 있고 host pc에서는 /data/logs 라는 경로에 저장하고 싶다면 volumes 부분에 /data/logs:/home/logs 로 선언해주시면 됩니다. 이렇게 선언하면 컨테이너 내부로 들어가지 않아도 ec2에서 바로 로그를 활용할 수 있고, 또한 배포를 하더라도 로그는 host pc에 계속 저장되있습니다.
익명
작성자
2024년 05월 02일
오 감사합니다! 해보겠습니다!
지금 가입하면 모든 질문의 답변을 볼 수 있어요!
현직자들의 명쾌한 답변을 얻을 수 있어요.
이미 회원이신가요?
지금 가입하면 모든 질문의 답변을 볼 수 있어요!