강의

멘토링

로드맵

Không có người viết

Bài viết có thông tin người viết đã bị xóa.

Hướng dẫn thực chiến Linux Bash Shell Script từ System Engineer

2-0-2. Môi trường thực hành cho mọi người dùng MAC (chip m), Linux, Windows (Docker)

docker 컨테이너로 가상환경 구축 시 init.sh 관련 에러 로그

Đã giải quyết

Viết

·

246

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해서 사용하던데, 혹시 에러 로그가 저렇게 찍히는 원인을 알 수 있을까요?

linuxshell-script

Quiz

46% người trả lời sai. Hãy thử ngay!

Công cụ giúp quản lý máy chủ ảo bằng mã và tự động hóa cấu hình kết hợp VirtualBox khi xây dựng môi trường thực hành là gì?

Docker

Git

Vagrant

MariaDB

Câu trả lời 2

0

bashbomb님의 프로필 이미지
bashbomb
Người chia sẻ kiến thức

안녕하세요.

인프라 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 명령이 제대로 동작하지 않았을 때 나타납니다.

  1. 경로 확인: Dockerfile에서 COPY 명령어가 Docker 이미지의 올바른 경로에 init.sh 파일을 복사하고 있는지 확인하시기 바랍니다. 예를 들어:

    COPY ./SHELL/init.sh /init.sh
    

이런 식으로 init.sh 파일이 Docker 컨테이너의 루트 경로에 복사되어야 합니다.

  1. 파일 존재 여부: 로컬 경로에 SHELL/init.sh 파일이 실제로 존재하는지도 확인하십시오. 로컬에서 해당 파일이 존재하지 않으면 Docker 이미지에 복사되지 않습니다.

  2. 실행 권한 설정: init.sh 파일에 실행 권한이 있는지도 확인해야 합니다. 이는 파일이 실행될 수 있도록 Docker 이미지를 빌드하기 전에 설정해줘야 합니다. 예를 들어:

    chmod +x SHELL/init.sh
    
  3. Docker 이미지 다시 빌드: 위 사항들을 확인 및 수정 후에 docker-compose build 명령어를 통해 이미지를 다시 빌드하여 실행해 보시기 바랍니다.

이와 관련된 기존의 유사한 문제 해결 사례로는 아래 링크를 참고할 수 있습니다:

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

Không có người viết

Bài viết có thông tin người viết đã bị xóa.

Đặt câu hỏi