도커 컨테이너 내부 구조 정리 / Dockerfile 의 CMD

두부링·2025년 4월 22일

이모저모...

목록 보기
12/12

컨테이너 내부 구조

[ 컨테이너 내부 예시 구조 ]
├── /app                ← 내가 넣은 앱 파일 (예: hello.jar)
├── /bin                ← 리눅스 명령어들 (ls, bash)
├── /etc                ← 설정 파일들
├── /usr, /lib, /tmp    ← 일반적인 리눅스 디렉토리 구조
├── 실행 중인 프로세스 (java, node, nginx 등)
├── 가상 네트워크 인터페이스 (bridge, eth0 등)
└── 격리된 메모리/CPU 환경

내가 생성한 컨테이너는 들어간다.

  • docker build -t hello-java .
  • 컨테이너 안에 /app/hello.jar 가 포함된다.
FROM openjdk:17
COPY hello.jar /app/hello.jar
CMD ["java", "-jar", "/app/hello.jar"]

이미지와 컨테이너의 관계

  • 이미지 : 정적인 설계도
  • 컨테이너 : 일회성 또는 지속적인 실행

    컨테이너는 이미지로부터 생성된, 작고 독립적인 실행 환경
    우리가 만든 애플리케이션은 이미지에 포함되고, 컨테이너 실행 시 그 내부에서 작동된다.

Dockerfile 의 CMD

  • 컨테이너 실행될 때, 명령어를 자동으로 실행해라!
  • docker run 하면 이미지에 있는 Dockerfile 로 인해서 java Hello 가 자동으로 실행
profile
하이하잉

0개의 댓글