window unix 개행차이로 인한 삽질.

Byung Seon Kang·2022년 7월 27일

삽질

목록 보기
2/2

개론

  • 도커 컨테이너상에서 다음과같은 기능을 만들고자했다.
    • 프로젝트 개발하면서 ngnix에서 logrotate를 사용해 로그파일 관리를 하는 것
    • 스프링 서버 애플리케이션을 도커 컨테이너 내부에서 빌드해서 사용하는 것.
  • 그런데 두가지 모두 설정파일을 컨테이너에 옮기면서 문제가 발생했다.
    • logrotate는 /etc/logrotate.d/nginx 설정파일을 읽을 때 오류가 발생.
    • 스프링 서버 애플리케이션 빌드할 때는 gradlew를 읽지 못하는 문제 발생.

결론

  • 단순한 이유였다.
  • 윈도우와 유닉스(리눅스)의 개행 방식 차이
  • 유닉스의 경우 LF로 개행하지만 윈도우는 CRLF로 개행.
  • 그래서 도커 컨테이너에 설정 파일을 COPY시킬 때 문제가 생겼던 것.

해결 방안

  1. dos2unix command 사용
    ex)RUN dos2unix /etc/logrotate.d/nginx
    이렇게하면 개행문자를 CRLF에서 LF로 변경시켜준다.
  2. 그냥 WSL 환경에서 개발
    이게 훨씬 낫다.,..
profile
왜 필요한지 질문하기

0개의 댓글