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