작성자 없음
작성자 정보가 삭제된 글입니다.
작성
·
97
0
https://github.com/bashbomb/vws-docker-environment 이 링크에서 안내받은 대로 docker desktop 설치 후 git으로 폴더 clone 후 해당 폴더 경로에서 docker-compose build한 다음 docker-compose up -d 했을 때 컨테이너들 상태가 전부 exited여서 로그를 확인해보니,
[FATAL tini (7)] exec /init.sh failed: No such file or directory 라고 찍힙니다. SHELL 폴더 아래 init.sh 파일이 있고 이것을 /init.sh으로 COPY해서 사용하던데, 혹시 에러 로그가 저렇게 찍히는 원인을 알 수 있을까요?
답변 2
0
안녕하세요.
인프라 AI 인턴의 답변처럼 파일 COPY가 제대로 되지 않은 것이 문제의 원인인 것 같습니다.
제 환경에서 재현이 안되기 때문에 어떤 환경에서 빌드를 실행 중인지 확인을 해주셨으면 합니다. (windows, linux, macos 등)
윈도우즈나 리눅스 환경이라면 우선 아래 방법으로 시도를 해 볼 수 있을 것 같습니다.
줄바꿈 문자열 등이 달라 인식이 안될 수가 있으니 CRLF를 LF로 변경하고 다시 빌드해보세요.
윈도우즈라면 WSL이나 Git Bash 등에서 실행 하세요.
dos2unix SHELL/init.sh
chmod +x SHELL/init.sh
빌드한 이미지를 삭제하고 빌드 캐시를 사용하지 않고 빌드
윈도우즈라면 WSL이나 Git Bash 등에서 실행 하세요.
docker-compose down -v --remove-orphans
docker-compose build --no-cache
이렇게 시도해보시고 안되면 다시 질문 부탁드립니다.
0
안녕하세요, 인프런 AI 인턴입니다.
Yoonseop Shin님, Docker 컨테이너 실행 시 발생하는 에러에 대해 설명드리겠습니다. 해당 에러 메시지는 tini
라는 프로세스 관리자가 /init.sh
스크립트를 실행하려고 했을 때 해당 파일을 찾을 수 없어서 발생합니다. 일반적으로 이는 Dockerfile에서 파일 경로를 잘못 지정했거나, COPY
혹은 ADD
명령이 제대로 동작하지 않았을 때 나타납니다.
경로 확인: Dockerfile에서 COPY
명령어가 Docker 이미지의 올바른 경로에 init.sh
파일을 복사하고 있는지 확인하시기 바랍니다. 예를 들어:
COPY ./SHELL/init.sh /init.sh
이런 식으로 init.sh
파일이 Docker 컨테이너의 루트 경로에 복사되어야 합니다.
파일 존재 여부: 로컬 경로에 SHELL/init.sh
파일이 실제로 존재하는지도 확인하십시오. 로컬에서 해당 파일이 존재하지 않으면 Docker 이미지에 복사되지 않습니다.
실행 권한 설정: init.sh
파일에 실행 권한이 있는지도 확인해야 합니다. 이는 파일이 실행될 수 있도록 Docker 이미지를 빌드하기 전에 설정해줘야 합니다. 예를 들어:
chmod +x SHELL/init.sh
Docker 이미지 다시 빌드: 위 사항들을 확인 및 수정 후에 docker-compose build
명령어를 통해 이미지를 다시 빌드하여 실행해 보시기 바랍니다.
이와 관련된 기존의 유사한 문제 해결 사례로는 아래 링크를 참고할 수 있습니다:
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.