일반 tesorflow 이미지는 너무 무거워서 알파인으로 구현하려합니다.
예시의 run-1.14.0-gpu-py3.sh 파일로 파악한 결과
마지막 줄 sh 명령어의 -c 옵션 때문에 안되는 것 같은데,
해결 가능한지 여부를 알고 싶습니다.
Created by NeonSign shin419님 감사합니다.
이슈 종료하겠습니다. 해당 task의 image를 직접 실행해보니
alpine tag에 /bin/bash 가 설치되어 있지 않네요.
그런데 작성하신 train.sh file의 hashbang은 #!/bin/bash 로 되어 있어서
에러가 났습니다.
/bin/bash를 /bin/sh 로 변경하고 이미지를 생성하시면 될 듯 합니다. @wongeun_song
Dockerfile파일은 문제가 없는 것 같은데,
우선 도커파일과 도커 실행시에 테스트한 문구 올려드립니다.
_____________________________________________________
1. Dockerfile
FROM python:alpine
ENV SRC_DIR /src
COPY src $SRC_DIR
WORKDIR $SRC_DIR
RUN chmod +x ./train.sh ./inference.sh
_____________________________________________________
2. docker run comment
아래의 3조건은 오류가 발생하며,
(X) docker run -it --rm help-khidi-tensorflow-1.14.0-gpu-py3:latest sh -c './train.sh; ./inference.sh'
(X) docker run -it --rm help-khidi-tensorflow-1.14.0-gpu-py3:latest sh -c './train.sh'
(X) docker run -it --rm help-khidi-tensorflow-1.14.0-gpu-py3:latest sh './train.sh; ./inference.sh'
이 조건에서만 오류없이 실행됩니다.
(O) docker run -it --rm help-khidi-tensorflow-1.14.0-gpu-py3:latest sh './train.sh'
위 task error message를 보니
docker 의 work dir 에 test.sh, inference.sh file이 없어서 발생한 오류로 보입니다.
예시의 run-1.14.0-gpu-py3.sh 에서 마지막 line의 "sh -c './train.sh; ./inference.sh'" 대신 "ls" 를 실행했을 때
test.sh, inference.sh file이 있는지 먼저 확인해 보셔야할 듯 합니다. @shin419 task id는 592683f4-ea4c-42df-8fad-2f669ad986ff 입니다. sh -c 옵션 해당 shell의 문자열을 실행하는 내용입니다.
해당 shell이 실행되는 위치에 train.sh 와 inference.sh 가 있는지 또는 환경 변수와 PWD를 지정하는 스크립트가 실행되어 있는지 확인 부탁드리겠습니다.
저도 확인 후에 다시 답변 드리겠습니다.
감사합니다. 오류가 발생한 task id가 어떻게 되나요?