
Ubuntu 환경에서 Docker-compose 사용해 Nginx, Spring Boot 컨테이너 두 대를 실행시키고, Nginx를 Reverse Proxy 로 구성해보자. [ Reverse Proxy ] 1. Proxy Proxy는 번역하면 대리라는 의미를 가진다. Proxy 서버는 클라이언트와 서버 사이에서 클라이언트 또는 서버를 대신해 기능을 수행하거나, 중계하는 역할을 한다. 2. Reverse Proxy 리버스 프록시는 클라이언트로부터 오는 요청을 대신 받아 내부 서버로 전달해주는 역할을 한다. 로드 밸런싱: 많은 요청을 처리하기 위해 여러대의 서버에 부하 분산 수행 가능 캐싱: 미리 렌더링된 버전의 페이지를 캐시하여 페이지 로드 시간을 단축할 수 있다. 보안: 내부 WAS의 존재를 숨길 수 있..

Docker Image는 여러 개의 레이어로 되어 있다. 도커 이미지는 빌드시 Dockerfile의 각 명령어들에 대한 레이어를 생성한다. Docker는 매번 모든 Layer를 생성하면 속도가 매우 느려질 수 있다. 따라서, Docker는 Docker Image 빌드 속도를 높이기 위해 Docker Cache를 사용한다. 첫 번째 이미지 빌드에서는 각 레이어별 Cache를 생성하고, 이후 동일한 명령어가 실행되면 기존의 레이어를 재사용한다. 만약 변경되는 단계가 있다면 레이어는 다시 만들어진다. 하지만, COPY같은 경우 jar 파일의 내용이 바뀌었으면, 같은 명령어라도 Cache를 적용할 수 없다. 직접 어플리케이션 코드 변경 후 Dockerfile을 재빌드해 문제를 파악하고, 해결방안을 알아보자. D..