작성
·
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로 변경하면 정상실행됩니다.
감사합니다!