Docker Logging Disk Full

어느날 서버 디스크가 full이 되었다. 원인을 찾아보니 원인은 docker container의 log파일이 17기가였다. 한 컨테이너의 로그파일이…;; docker의 기본 loggin driver는 json-file (그 외에도 local, syslog 등 여러가지가 있음.) json-file의 경우 max-size는 -1이다. 즉 무제한이다…;; 설정값 참고 : https://docs.docker.com/config/containers/logging/json-file/ 요렇게 max-size를 지정해주면 지정한 사이즈 이상 커지지 않는다. docker-compose에서 적용은

Spring @PostConstruct

스프링으로 개발하다 보면 객체가 생성될때 초기화 작업을 하고 싶을때가 있다. 이럴때 클래스의 생성자에 코드를 많이 넣는데 만약 value injection 된 값을 가지고 할경우에 두가지 방법이 있다. 첫번째로 생성자 부분에 @Value 어노테이션을 사용해 값을 주입하는 방법 두번째로 @PostContruct를 활용하는 방법 @PostContruct는 Injection이 끝난 후에 실행되기 때문에 가능하다.

Ubuntu에서 Docker로 서비스시 주의할점

얼마전 서버에서 돌고 있는 서비스가 이유(?)도 없이 죽어 있었다. 다행이 서비스 되고 있지 않은 서비스 이여서 큰 이슈는 없었지만, 물론 서비스 되어 있었다면 모니터링을 하고 있었겠지만.. 여튼 로그를 뒤져보니…. 헉… 시스템에 돌고 있는 기본 업데이트 서비스가 도커를 업데이트 할려고 서비스를 내려 버렸… 앞으로 저런일이 생기지 않도록… 업데이트 관련 서비스를 내렸다. 우분투로 서비스를 운영할때에는 systemctl list-timers… Read More »

Spring Config Server S3 Multi Load Config

# spring config에서 멀티 s3 config를 지원하는 기능은 spring-cloud-config v3.0.2에 contribute 되었습니다. spring config server를 사용하다 보면 common 적인 설정은 따로 모아서 관리하고 싶을때가 있다. a service – a-serivce-dev.yml – common-dev.yml b service – b-service-dev.yml – common-dev.yml 다른 서비스이지만 공통적인 설정 부분은 하나의 파일로 관리하고 싶을때. spring.cloud.config.name: a-service, common 요렇게 해주면 두개의 config 파일을 로딩이… Read More »

Spring Security Custom Request Parameter 사용하기

username / password 이외에 추가 파라미터(ex: OTP 코드)를 처리하기 위한 방법이다. 간단히 요약하면 addFilterBefore 필터에 Custom UsernamePasswordAuthenticationFilter 를 추가하여 Custom WebAuthenticationDetails 로 변경하여 넘겨주는 방식 위 코드는 일부를 발췌한 내용이라 보고 참고 정도만 하세요.