본문 바로가기

전체 글126

SpringBoot 도커 배포, Dockerfile + build.sh 패턴 정리 Dockerfile"환경"을 설계한다는 것의 의미모든 개발자와 운영자가 같은 환경에서 서비스가 실행되어야"내 로컬에선 되는데 서버에선 안 돼요" 문제가 사라진다.운영체제, JDK, 패키지, 파일 위치, 환경변수까지내 서비스에 필요한 모든 것을 한 줄 한 줄 ‘코드’로 문서화→ Dockerfile은 이 과정을 **명령어(레시피)**로 적는 곳동일한 Dockerfile에서 빌드하면 "언제, 어디서, 누가 빌드해도" 완벽히 똑같은 이미지가 보장실무에서 중요하게 여기는 포인트FROM:절대로 아무 베이스 이미지나 쓰지 않는다.공식 이미지(예: eclipse-temurin, openjdk, gradle 등)만 채택COPY:단순히 jar만 복사?→ 실무에선 static 파일, config, script도 복사하게 되.. 2025. 8. 4.
Dockerfile Dockerfile은 애플리케이션과 실행 환경을 정의하고, 이를 바탕으로 도커 이미지를 생성(build) 하기 위한 스크립트 파일입니다.빌드(build)란 소스 코드와 설정 파일을 기반으로 실행 가능한 이미지(컨테이너 스냅샷)를 생성하는 과정으로, Dockerfile에 명시한 명령어(FROM, RUN, COPY 등)가 순차적으로 실행되며 단계별로 파일 시스템이 변경된 스냅샷이 쌓여 최종 이미지가 완성됩니다.반면, docker commit은 이미 실행 중인 컨테이너의 현재 상태를 스냅샷하여 이미지로 만드는 명령으로, 수동으로 컨테이너 내부를 변경한 뒤 그 결과물을 보존할 때 사용됩니다. Dockerfile 방식의 장점명시적 스크립트: 어떤 명령을 어떤 순서로 실행했는지 코드 형태로 기록되어 있어 가독성.. 2025. 7. 19.
Nginx 웹 서버웹 서버의 정의HTTP/HTTPS 프로토콜을 통해 클라이언트(브라우저, API 호출 등)의 요청을 수신하고, 정적 파일 (HTML/CSS/JS/IMAG) 또는 동적 처리 결과를 응답하는 소프트웨어 입니다.Apache HTTP Server, Nginx, MS IIS웹 서버를 사용하는 이유정적 콘텐츠 제공 : 이미지나 HTML 파일 같은 정적 리소스를 빠르게 서빙 부하 분산 (Load Balancing) : 여러 백엔드 애플리케이션 서버로 요청을 분산보안 (Security) : SSL/TLS 인증서 관리, HTTP 헤더 제어, 방화벽 연동캐싱 (Caching) : 자주 요청되는 리소스를 메모리나 디스크에 케시해 응답 속도 개선리버스 프록시(Reverse Proxy) " 내부 서비스들의 진입점으로 서비.. 2025. 6. 24.
Docker Compose Docker Compose는 여러개의 컨테이너로 이루어진 어플리케이션 스택을 정의하고, 한 번에 시작/중지/관리할 수 있게 해주는 도구 입니다. 복잡한 멀티 컨테이너 환경을 간단한 설정 파일 하나로 관리할 수 있어 개발/테스트/배포 과정에서 큰 효율을 제공합니다. Docker Compose 란? 멀티 컨테이너 애플리케이션 정의docker-compose.yml 파일 하나에 여러 서비스(컨테이너)를 선언하면, 의존성 순서, 네트워크, 볼륨 등도 함께 설정할 수 있습니다.명령어 한 번으로 관리docker compose up만 실행하면 파일에 정의된 모든 서비스가 순서대로 빌드·시작되며, docker compose down으로 한 번에 종료·정리합니다.환경 일관성 보장개발·테스트·스테이징·프로덕션에서 동일한 .. 2025. 6. 21.