방법
의미는 Docker 컨테이너가 실행될 때 기본적으로 실행되는 명령어를 지정하는 지시문입니다.
ENTRYPOINT [ "실행할_명령어", "기본_옵션" ]
이전에 저는 sleep 이라고 명령어를 사용하고 옵션으로 500 이라는 값을 입력하여 500초동안 실행하고 종료되게 만들었습니다.
ENTRYPOINT [ "sleep", "500" ]
다른 예시
Dockerfile 안에 아래와 같이 입력해 봅니다.
FROM ubuntu
ENTRYPOINT [ "echo", "Hello, Docker!" ]

해당 의미는 ubuntu 이미지를 생성하고 컨테이너를 생성 및 실행되자 마자, Hello, Docker! 가 실행이 되도록 하는 것입니다.
확인을 위해 Dockerfile을 실행하면 아래와 같이 이미지가 생성된 것을 알 수 있습니다.

해당 이미지로 컨테이너를 생성 및 실행합니다.
하지만, 실제로 실행된 것을 확인할 수가 없습니다.

생성되자 마자 종료가 되었기 때문입니다.
그래서 확인 방법은 해당 container의 로그를 확인하면 볼 수 있습니다.
docker logs [Container ID]

해당 로그가 찍힌 것을 알 수 있습니다.
ENTRYPOINT 응용
위와 같이 명령어를 사용하는데 하나 이상의 명령어를 사용할 수 있습니다.
특히, 단순한 명령어가 아닌 복잡하고 조건이 들어간 명령어로도 가능한데 아래와 같이 비교할 수 있습니다.
| 사용 경우 | bash -c 필요 여부 | 예제 |
| 단순 명령 실행 | ❌ 불필요 | ENTRYPOINT [ "echo", "Hello" ] |
| 여러 개의 명령 실행 | ✅ 필요 | ENTRYPOINT [ "/bin/bash", "-c", "echo A && echo B" ] |
| 환경 변수 활용 | ✅ 필요 | ENTRYPOINT [ "/bin/bash", "-c", "echo $USER" ] |
| 파이프 | ✅ 필요 | (` ), 리디렉션(>), 와일드카드(*`) 사용 |
명령어를 사용하는 방법은 아래와 같습니다.
ENTRYPOINT [ "/bin/bash", "-c", "echo Hello" ]
해당 의미는 컨테이너 내부에서 bash 쉘을 실행합니다.
-c 옵션을 사용하면 bash 뒤에 오는 문자열을 명령어로 실행합니다.
결국 echo Hello 를 실행하고 종료하게 됩니다.
ENTRYPOINT [ "/bin/bash", "-c", "echo Hello && echo World" ]
이것은 && 연산자를 사용하게 될 경우 bash 를 쓰게 됩니다.
'Docker' 카테고리의 다른 글
| [Docker] Dockerfile과 WORKDIR 명령어 (0) | 2025.02.26 |
|---|---|
| [Docker] Dockerfile 과 RUN 명령어 (0) | 2025.02.26 |
| [Docker] Dockerfile 그리고 COPY 명령어 (0) | 2025.02.26 |
| [Docker] Dockerfile 을 만들기 그리고 FROM 명령어 (0) | 2025.02.21 |
| [Docker] 실행중에 있는 컨테이너 내부에 접속하기 (0) | 2025.02.20 |
