[Docker] 도커 컨테이너 다루기 : 엔트리 포인트와 커맨드
도커 컨테이너 다루기 : 엔트리 포인트와 커맨드
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이다.
- 엔트리포인트와 커맨드의 차이점에 대해 이해해야 한다.
- 도커 컨테이너 실행시에 엔트리포인트와 커맨드 모두 변경이 가능하다.
Comments