찾다

 >  Q&A  >  본문

dockerfile에서 CMD와 ENTRYPOING의 실제 차이점

이것도 스크립트인데 하나는 CMD["/opt/setup.sh"]를 사용하고 다른 하나는 ENTRYPOING["/opt, setup.sh"]를 사용합니다. 이때는 docker run -d를 사용합니다. 이 컨테이너를 시작하러 가세요. 이때 CMD를 이용해서 불러올 수 있는데 ENTRYPOING이 종료되어 아직 시작할 수 없습니다. CMD와 ENTRYPOING의 차이점과 기타 정보를 확인했는데 이유를 찾지 못했습니다. .나는 지금 단지 그의 원칙이 무엇인지 알고 싶습니다.

世界只因有你世界只因有你2805일 전841

모든 응답(2)나는 대답할 것이다

  • 黄舟

    黄舟2017-04-24 16:02:43

    차이점은 ENTERPOINT는 덮어쓰이지 않지만 CMD는 덮어쓰게 된다는 점입니다.

    예를 들어 동일한 docker run -it --rm <image_name> hello world

    을 실행합니다.

    ENTERYPOINT ["/bin/bash"]인 경우 실행할 실제 명령은 /bin/bash hello world

    입니다.

    CMD ["/bin/bash"]인 경우 실제 명령 실행은 hello world입니다.

    즉, 컨테이너 실행 시 명령이 ENTERYPOINT의 매개변수로 전달되며, CMD를 사용할 경우 CMD가 직접 대체됩니다.

    따라서 dockerfile에서 두 가지를 모두 사용하는 까다로운 방법이 있습니다.

    으아아아

    이런 방식으로 사용자는 mongod 시작을 위한 매개변수를 사용자 정의할 수 있을 뿐만 아니라 매개변수가 지정되지 않은 경우 --help를 사용하여 기본적으로 도움말 정보를 표시할 수도 있습니다

    회신하다
    0
  • PHP中文网

    PHP中文网2017-04-24 16:02:43

    로그를 먼저 확인하세요

    회신하다
    0
  • 취소회신하다