티스토리 뷰

개인공부/Devops

docker volume - WAS log

날따라해봐요요롷게 2022. 5. 4. 22:36

도커 컨테이너에 저장된 로그는 컨테이너가 없어지면 로그도 함게 없어지기에 기록된 로그를 볼 수 없게된다.

따라서 이를 해결하기 위해서 도커 볼륨을 활용하여 WAS에 컨테이너의 로그들을 기록하도록 한다.

 

컨테이너 directory에 만들어지는 log 파일은 

/log.config.path_IS_UNDEFINED/err_log.log 이다.

 

만들어지는 파일을 host 서버에 volume을 이용해 Directory Path를 mount 하여 host Directory에 해당 파일을 볼 수 있도록 한다.

 


설정

 

github action이 도는 gradle.yml 에서

sudo docker run -itd --rm --name server -p 80:8080 ${{ secrets.DOCKER_REPOSITORY }} \
-v ./$(pwd)/logs:/log.config.path_IS_UNDEFINED server

쉘 스크립트 언어를 작성한다.

-v 는 volume을 실행하는 docker command 이다.

 

-v {호스트 디렉토리}:{컨테이너 디렉토리} {이미지 id, 이름} 으로 입력한다. -> MOUNT 하는 과정

 

후에 어플리케이션 프로젝트 root에 만들어놓은 dockerfile에 아래의 코드를 입력한다.

VOLUME ["/log.config.path_IS_UNDEFINED"]

VOLUME 명렁어를 통해서 컨테이너에 로그 파일이 남겨져 있는 디렉토리를 적는다.

 

도커 볼륨을 검색해보면 e4~~~ 로 시작하는 볼륨을 볼 수 있다.

해당 볼륨을 자세히 보기 위해 inspect 명령어를 실행한다.

 

Mountpoint를 보면 mount되는 디렉토리의 path를 알려준다.

 

본인은 aws ec2 서버를 사용할 때 Mobaxterm 을 사용하는데 /var/lib/docker로 접근을 할 때 접근이 되지 않았다.

그 이유는 권한의 문제가 있기 때문이다.

권한의 문제를 해결한 후 해당 폴더에 접근을 한 후 적혀진 디렉토리에 접근하면 컨테이너에 만들어진 로그 파일이 담겨져 있는 것을 확인 할 수 있다.

 

 

 

 

 

 

 

 

 

 

'개인공부 > Devops' 카테고리의 다른 글

CICD - Github Actions 를 선택한 이유  (0) 2022.05.06
CICD - 트러블슈팅  (0) 2022.05.06
CICD - github actions, S3, Code deploy  (0) 2022.05.06
docker - TIME ZONE  (0) 2022.05.04
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/09   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
글 보관함