MLOps/Docker

[Docker#11] Dockerfile ENTRYPOINT

j.d 2025. 5. 12. 16:34

Docker는 애플리케이션을 컨테이너 단위로 분리하고 실행할 수 있게 해주는 도구입니다.

이때, 컨테이너가 실행되자마자 자동으로 특정 명령을 수행하도록 설정할 수 있는데요, 이 기능을 담당하는 Dockerfile 명령어가 바로 ENTRYPOINT입니다.

 

 

 

ENTRYPOINT란?

ENTRYPOINT는 Dockerfile에서 정의하는 명령어로, 컨테이너가 실행될 때 자동으로 실행되는 명령을 설정할 수 있습니다.

쉽게 말해, 미니 컴퓨터의 전원을 켜자마자 실행하고 싶은 프로그램을 등록하는 것과 같습니다.

 

ENTRYPOINT [ "실행할_명령어", "인자1", "인자2", ... ]

 

 

실습

컨테이너가 실행되면 main.py 파이썬 스크립트를 자동으로 실행하게 만들어보겠습니다.

 

# 프로젝트 구성
.
├── Dockerfile
└── main.py
# main.py
print("Hello from inside the container!")
FROM python:3.11-slim

# main.py 파일을 컨테이너 내부로 복사
COPY main.py /main.py

# 컨테이너 실행 시 main.py 자동 실행
ENTRYPOINT ["python", "/main.py"]

 

컨테이너가 실행되자마자 main.py를 실행시킨 후 종료된 것을 확인할 수있습니다.

'MLOps > Docker' 카테고리의 다른 글

[Docker#13] Dockerfile WORKDIR  (3) 2025.05.12
[Docker#12] Dockerfile RUN  (0) 2025.05.12
[Docker#10] Dockerfile COPY  (0) 2025.05.12
[Docker#9] Dockerfile이란?  (0) 2025.05.12
[Docker#8] 볼륨(Volume)이란?  (0) 2025.05.08