[docker] RUN, CMD, ENTRYPOINT

develop, docker
written byzuhern1zuhern

in

2021. 02. 19


(출처) 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”를 파라미터로 인식함