ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Dockerfile 에서 CMD와 ENTRYPOINT의 차이
    카테고리 없음 2022. 8. 5. 01:41

    docker run -it -v C:\udemy\section9:/app  node-util npm init

    이렇게 있다면

    node-util이 이미지라고 가정한다면,

     

    CMD는 끝에 npm 부터 끝까지 전부 overwritten한다.

    그렇기에 일반적인 도커파일 보면 끝에 CMD가 있는데 이거로 docker run 해서 ~~~~ 끝에는 [이미지파일] + CMD에 적어준 명령어가 붙어서 run 하면 작동된다.

     

    ENTRYPOINT ["npm"] 이라면

    반면 ENTRYPOINT는 npm init 이라고 쓴거를 init만 써도 된다. 그러므로 npm start npm install 등등 있으면 

    docker run -it -v C:\udemy\section9:/app  node-util init start install 이렇게 쓰면 된다.

     

    FROM ubuntu
    
    CMD ["sleep", "10"]

    이면 나중에 sleep 시간을 변경하고 싶다면 docker run ubuntu sleep 100 이렇게 써줘야한다.

    FROM ubuntu
    
    ENTRYPOINT ["sleep"]

    이렇게 하면 docker run ubuntu 100 이러면 된다.

     

    기본값 설정을 위해 ENTRYPOINT 와 CMD가 같이 쓰면 된다.

    FROM ubuntu
    
    ENTRYPOINT ["sleep"]
    
    CMD ["5"]

    이러면 docker run ubuntu 하면 5초간 잠들고 docker run ubuntu 100 하면 100초간 잠든다.

Designed by Tistory.