인프런 커뮤니티 질문&답변

정이우님의 프로필 이미지
정이우

작성한 질문수

데브옵스(DevOps)를 위한 쿠버네티스 마스터

"EmptyDir 컨테이너 간 데이터 공유 실습" 관련 dockerfile 문의

작성

·

137

0

안녕하세요. 명강의 잘 듣고 있습니다^^

최대한 하나하나 실습을 해보면서 진행을 하고 있는데요~

"EmptyDir 컨테이너 간 데이터 공유 실습" 강의에서 직접 docker를 생성해보고 있는데,

dockerfile을 PPT와 동일하게

ENTRYPOINT /bin/cout.sh

라고 작성을 하게 되면, /bin/count.sh가 없다면서 컨테이너 실행이 실패됩니다.

jjajjara@cloudshell:~/dockerfile/count (sage-extension-297907)$ docker run -it jjajjara/count

-rm: line 1: /bin/count.sh: not found

.

그래서 예전에 알려주셨던, CMD 명령어로 대체를 하니 정상적으로 실행이 되는데요

CMD ["bin/sh", "/bin/count.sh"]

.

ENTRYPOINT로 했을 때 왜 실패가 나는지 알수 있을까요?

.

.

아래는 dockerfile에 동일하게 ENTRYPOINT가 작성시

제가 만든 이미지와 gasbugs/count 이미지의 history를 비교한 것인데,

보시는 바와 같이 ENTRYPOINT 명령에 조금 차이가 있습니다.

.................................................................................................................................................

jjajjara@cloudshell:~/dockerfile/count (sage-extension-297907)$ cat dockerfile

FROM busybox:latest

ADD count.sh /bin/count.sh

ENTRYPOINT /bin/count.sh

.................................................................................................................................................

jjajjara@cloudshell:~/dockerfile/count (sage-extension-297907)$ docker image history jjajjara/count --no-trunc

IMAGE                                                                     CREATED             CREATED BY                                                                                                      SIZE                COMMENT

sha256:469d8ba661a690ab7243c2c14bbb7420efe8634a346767696712b7e658ce4ead   23 minutes ago      /bin/sh -c #(nop)  ENTRYPOINT ["/bin/sh" "-c" "/bin/count.sh"]                                                  0B

sha256:11e9105faaa86b0fb27268be4c066fa2e85e4e5cf27d7c3427f396998ee468d0   23 minutes ago      /bin/sh -c #(nop) ADD file:8e0711a5b2619ad87295625d90a49956fb52fcfad4e2667cb78834ae1fc4a943 in /bin/count.sh    155B

sha256:219ee5171f8006d1462fa76c12b9b01ab672dbc8b283f186841bf2c3ca8e3c93   3 weeks ago         /bin/sh -c #(nop)  CMD ["sh"]                                                                                   0B

<missing>                                                                 3 weeks ago         /bin/sh -c #(nop) ADD file:85e5bcb27fcc24f6a594d2e89493c4083ef596c2a73c5ccaa0a0255a48ba2cd0 in /                1.23MB

.................................................................................................................................................

jjajjara@cloudshell:~/dockerfile/count (sage-extension-297907)$ docker image history gasbugs/count --no-trunc

IMAGE                                                                     CREATED             CREATED BY                                                                                                      SIZE                COMMENT

sha256:879bd2048e2adc7ae9e43a4c412657e559bc83d6f898781893efa1f1db2e8484   9 months ago        /bin/sh -c #(nop)  ENTRYPOINT ["sh" "/bin/count.sh"]                                                            0B

<missing>                                                                 9 months ago        /bin/sh -c #(nop) ADD file:b035c70c5049e6916fac180ae62d9fa14666cbab7b8db20a02077eef5e0e0ca2 in /bin/count.sh    163B

<missing>                                                                 9 months ago        /bin/sh -c #(nop)  CMD ["sh"]                                                                                   0B

<missing>                                                                 9 months ago        /bin/sh -c #(nop) ADD file:450bea8cddb743ed282cb1ade3d1614033172b93ef531c69a4e49fda3016cef0 in /                1.22MB

답변 1

1

안녕하세요 강사 최일선입니다.

저도 말씀하신 내용이 특이해서 열심히 조사해보고 테스트해봤는데요.

EntryPoint에 #!/bin/sh로 전달했을 때만 정상 실행되는것을 확인했습니다.

알고보니 bash가 없었기 때문이더라구요.

제가 교재를 만들 떄 잘 못 만들었나 봅니다.

결론적으로 말씀드리면  #!/bin/bash를 #!/bin/sh로 변경하면 정상실행됩니다.

감사합니다!

정이우님의 프로필 이미지
정이우

작성한 질문수

질문하기