(출처) freepsw님의 블로그
(1) RUN
- 새로운 layer를 생성하거나, 생성된 layer 위에서 command를 실행.
- (package를 설치하는 명령어를 주로 사용)
(2) CMD
- docker가 실행될때 실행되는 명령어 정의
- 만약 docker run 으로 실행될 때 사용자가 직접 실행할 명령어를 입력시 CMD의 명령어는 실행되지 않는다.
- ex) docker run <image_name> echo world “world” 가 출력됨. Dockerfile에 있는 CMD는 실행되지 않음
(3) ENTRYPOINT
- docker run으로 생성하거나, docker start로 중지된 container를 시작할 때 실행되는 명령어 (CMD와 동일한 역할)
- Dockerfile 내에서 1번만 정의 가능함.
- CMD와 다른 점으로 docker run으로 실행시 command를 입력하면, ENTRYPOINT의 파라미터로 인식한다.
- ex) docker run <image_name> echo world “echo world”를 파라미터로 인식함