less than 1 minute read

도커 컨테이너 다루기 : 엔트리 포인트와 커맨드

1. 엔트리포인트와 커맨드

  • 엔트리포인트 (Entrypoint) :
    도커 컨테이너가 실행할 때 고정적으로 실행되는 스크립트 혹은 명령어, 생략할 수 있으며, 생략될 경우 커맨드에 지정된 명령어로 수행

  • 커맨드 (Command) :
    도커 컨테이너가 실행할 때 수행할 명령어 혹은 엔트리포인트에 지정된 명령어에 대한 인자

  • [Entrypoint] [Command]
    -> 실제 수행되는 컨테이너 명령어

2. Dockerfile의 엔트리포인트와 커맨드

도커파일 (dockerfile)

FROM node:12-alpine
RUN apk add --no-cache python3 g++ make
WORKDIR /app
COPY . .
RUN yarn install --production

#######################################
ENTRYPOINT ["docker-entrypoint.sh"]
CMD ["node"]
#######################################

3. 도커 명령어의 엔트리포인트와 커맨드

docker 커맨드 상에 엔트리포인트

$ docker run ubuntu:focal
$ docker run --entrypoint sh ubuntu:focal
$ docker run --entrypoint echo ubuntu:focal hello world

docker ps -a 실행 시

CONTAINER ID   IMAGE          COMMAND              CREATED              STATUS                          PORTS     NAMES
3a7986aa0655   ubuntu:focal   "echo hello-world"   19 seconds ago       Exited (0) 17 seconds ago                 laughing_merkle
8bab4c6f5fbe   ubuntu:focal   "sh"                 About a minute ago   Exited (0) About a minute ago             laughing_hawking
0510c0b5c940   ubuntu:focal   "bash"               3 minutes ago        Exited (0) 3 minutes ago                  wizardly_goldstine

정리

  • 위에 sh, echo 와 같이 설정을 하지 않는다면 기본값은 bash이다.
  • 엔트리포인트와 커맨드의 차이점에 대해 이해해야 한다.
  • 도커 컨테이너 실행시에 엔트리포인트와 커맨드 모두 변경이 가능하다.

Categories:

Updated:

Comments