docker

· TIL ✍️
문제CI/CD를 구성하면서, CD 마지막 과정은 EC2 서버의 기존 도커 컴포즈를 down 하고 다시 up 하는 과정이 있다. 그리고 재시작하면서 스프링 컨테이너를 강제 종료하는데, 이때 진행 중인 로직도 그대로 강제 종료되는 문제가 있었다. 예를 들어, 주문 처리 중 재고는 감소시켰는데 강제 종료가 되어서 재고가 롤백되지 않는 문제가 있을 수 있다. (MSA 환경이다)또한 Eureka server에 설정된 Eviction timer가 종료되기 전까지 유레카에 남게되는 문제도 있다.해결Graceful shutdown을 적용했다. 스프링 부트spring: application: name: payment-service config: import: classpath:application-data..
· TIL ✍️
요약eclipse-temurin:17-jre-alpine으로 이미지 굽자.상황어느날 문득, 서버에서 배포할 때 이미 빌드되어 jar 파일만 실행한다면, JDK가 아닌 JRE만 있어도 되는 거 아닌가? 하는 생각이 들었다.  요즘 배포할 때는 도커 이미지로 구워서 띄워버려서, JRE를 사용하면 용량을 더 줄일 수 있을 것 같아서 한번 알아봤다.  openjdk를 우선으로 찾아보았는데 내 서치 실력이 부족한 건지 17-jre만 있는 것은 찾을 수가 없어서, temurin으로 테스트해보았다.  예상대로 17-JDK (419.47 MB) > 17-JDK-alpine (335.97 MB) > 17-JRE (262.53 MB) > 17-JRE-alpine (185.34 MB) 순으로 용량이 줄어들었다. JDK에서 ..
· TIL ✍️
문제도커로 레디스를 띄울 때, 기존 데이터나 설정을 유지하고 싶었다. 해결 도커로 레디스를 띄울 때, 볼륨을 통해 저장 공간을 공유하고, redis.conf 라는 레디스 설정 파일도 공유하여 레디스 컨테이너를 띄울 때 데이터를 유지하도록 해결했다. 과정 우선 EC2 Ubuntu24.04 버전에 도커를 띄운 상황에서 설명하겠다.  sudo docker volume create redis-data우선 redis-data 라고 하는 볼륨을 만들어준다.  $ sudo docker volume inspect redis-data[ { "CreatedAt": "2024-08-05T20:43:25+09:00", "Driver": "local", "Labels": null, ..
· TIL ✍️
주제 예전에 레디스 해킹을 당해놓고서 아직도 정신 못 차리고 비밀번호 설정을 귀찮아서 안 해두다가 이번에 제대로 알아두기로 했다.  우선 도커로 레디스 설치부터 암호 설정, 암호로 접속하는 방법까지 다뤄보기로.  레디스 도커 설치sudo docker run -d \ --name redis-ex \ -p 63790:6379 \ -e REDIS_ARGS="--requirepass 1234" \ redis/redis-stack-server위는 레디스 스택을 포함하는 redis-stack-server 이미지이고 sudo docker run -d \ --name redis-ex \ -p 63790:6379 \ redis --requirepass 1234위는 그냥 레디스일 때이다. 각각 비밀번호를 ..
yunjae62
'docker' 태그의 글 목록