inblog logo
|
harimmon
    심화 과정

    [심화] 19. 엔트리 포인트

    백하림's avatar
    백하림
    Jul 31, 2025
    [심화] 19. 엔트리 포인트
    Contents
    📌 ENTRYPOINT란?🧠 추가 설명💡 ENTRYPOINT vs CMD
    🔥

    📌 ENTRYPOINT란?

    • ENTRYPOINT는 컨테이너가 시작될 때 실행할 명령어를 지정하는 Dockerfile 명령어임.
    • docker run으로 컨테이너를 실행하면, 이 ENTRYPOINT에 명시된 명령어가 자동으로 실행됨.
    • 보통 컨테이너의 **"기본 실행 동작"**을 정의할 때 사용함.
    🔥
    목적 : 컨테이너 하나 띄워서 리눅스 환경에서 잘 돌아가는지 확인하기
    FROM openjdk:21-jdk-slim WORKDIR /app COPY ./build/aws-v3-0.0.1.jar ./application.jar RUN chmod +x ./application.jar EXPOSE 8081 ENTRYPOINT ["java", "-jar", "-Dspring.profiles.active=dev", "application.jar"]

    구성 설명

    항목
    설명
    "java"
    Java 실행 명령어
    "-jar"
    JAR 파일 실행을 의미
    "-Dspring.profiles.active=dev"
    Spring Boot에서 dev 환경 프로파일을 활성화
    "application.jar"
    실행할 애플리케이션 JAR 파일 이름

    🧠 추가 설명

    • 이 ENTRYPOINT는 컨테이너가 시작되면 바로 아래 명령을 실행하는 것과 같음:
      • java -jar -Dspring.profiles.active=dev application.jar
    • 따라서 이 Docker 이미지를 기반으로 실행한 컨테이너는 곧바로 Spring Boot 애플리케이션을 dev 프로파일로 실행하게 됨.

    💡 ENTRYPOINT vs CMD

    항목
    ENTRYPOINT
    CMD
    목적
    실행 대상 명령을 강제함
    실행 대상의 기본값 제안
    덮어쓰기
    docker run 커맨드에 의해 덮어쓰기 어려움
    커맨드로 덮어쓰기 쉬움
    조합
    CMD는 ENTRYPOINT의 인자처럼 동작할 수 있음
    독립적 동작
     
    Share article
    Contents
    📌 ENTRYPOINT란?🧠 추가 설명💡 ENTRYPOINT vs CMD

    harimmon

    RSS·Powered by Inblog