해결된 질문
작성
·
220
답변 1
1
안녕하세요. 답변도우미입니다.
제가 정확히 이해한 것인지 조금 걱정이 되는데요. 기본적으로는 Dockerfile의 내용을 보여주셨는데요. 해당 Dockerfile 에서는 ENTRYPOINT
가 설정된 것을 볼 수 있습니다.
이 경우, ENTRYPOINT
에 ["/bin/echo", "hello"]
가 명시되어 있으므로, 컨테이너가 시작될 때마다 echo hello
명령이 실행되도록 설정되어 있습니다.
그리고, Dockerfile 에서 보여주신대로 ENTRYPOINT
만 정의되어 있고, CMD
가 정의되어 있지 않아서, docker inspect
에서 Cmd
는 null
로 나올 수 있습니다.
이런 경우, 컨테이너를 실행할 때 docker run
명령어 뒤에 추가적인 인자를 제공하지 않으면, ENTRYPOINT
에 명시된 명령만 실행되고, 추가적인 인자를 제공하면, 해당 인자가 ENTRYPOINT
이후에 붙어서 인자까지 넣어져 실행됩니다.
그래서 기본적으로는 설정하신대로 된 것으로 이해가 되긴 하거든요... 또한 Cmd 가 inspect 에 두 군데 나올 수 있습니다. 이 부분도 확인해보셔도 좋긴 하고요. 기본적으로는 ENTRYPOINT
와 CMD
는 서로 상호작용하는데, CMD
는 ENTRYPOINT
로 전달될 기본 인자를 제공합니다.
감사합니다.
감사합니다. 이해했습니다.!