Skip to content

sh 파일 실행 오류

top-chaser edited this page Nov 27, 2023 · 1 revision

문제 상황

exec /usr/local/ngix/conf/run.sh: no such file or directory

어제까지만 해도 잘 되던 Dockerfile이 빌드 후에 다음과 같은 에러 메시지를 출력했다.

해결 과정

  1. Docker Desktop으로 run.sh를 확인 해봤는데 잘 들어가 있다.

  2. Dockerfile 수정

    CMD ["/usr/local/nginx/conf/run.sh"]
    -> CMD ["cat", "/usr/local/nginx/conf/run.sh"]

    위처럼 바꿔본 결과 파일 내용도 잘 출력 된다.

  3. Dockerfile 수정

    CMD ["/usr/local/nginx/conf/run.sh"]
    -> CMD ["sh", "/usr/local/nginx/conf/run.sh"]

    이번엔 다른 에러가 발생한다.

  4. StackOverflow

    에러 메시지를 검색해보니 CRLF 때문에 발생하는 문제라고 나와있어

    LF로 바꿔보니 정상적으로 동작한다.

결론

윈도우의 CRLF 때문에 발생한 문제다.

bash 스크립트를 작성할 땐 LF로 설정돼있는지 잘 확인하자.

Clone this wiki locally