2017-10-27 3 views
0
time="2017-10-27T07:39:20Z" level=error msg="Can't add file /var/app/current/app/content_classifier/forest.pickle to tar: io: read/write on closed pipe" 
time="2017-10-27T07:39:20Z" level=error msg="Can't close tar writer: io: read/write on closed pipe" 
Failed to build Docker image aws_beanstalk/staging-app: tar writer: io: read/write on closed pipe" 
Error response from daemon: Untar error on re-exec cmd: fork/exec /proc/self/exe: cannot allocate memory. Check snapshot logs for details. (Executor::NonZeroExitStatus) 

저는 Pickle 개체가 django_app/content_classifer 개체에 있습니다. 셀러리 작업 파일을 초기화 할 때 그 결과를 예측할 클래스가 있으며 초기화됩니다.건물 도커 이미지 수준 = error msg = "닫힌 파이프에서 io writer를 닫을 수 없습니다 : io : 읽기/쓰기"

docker build은 제목과 같은 오류 메시지를 표시 한 후에도 계속 실패합니다.

답변

0

나는이 문제를 발견했을 때, 같은 문제가 몇 분 전에했다 :) 내가 일부 파일이 오픈했다 = 그들은 다른 응용 프로그램 (GIT)

더 파일이 사용되지되고 있는지 확인하십시오에 의해 사용되었다.

희망이 있으면 도움이 될 것입니다.

0

이것은 입력/출력 오류이며 도커가 원하는 파일에 액세스 할 수없는 것 같습니다. @ Luk3rson이 제안한 것처럼 다른 응용 프로그램에서 파일을 사용하지 않도록하십시오. /var/log/에서 로그를 디버그하십시오. 그것이 당신을 도울 수 있습니다.

0

이미지를 생성 할 수없는 도커 문제는 피클 개체가 다른 프로세스에서 생성되어 다른 프로세스에서 다른 용도로 액세스되었다는 것입니다. 파일을 시스템의 모든 프로세스/사용자가 액세스 할 수있는 디렉토리로 이동합니다. 어쩌면 해결책이 왜 이미지를 생성 할 수 있었는지를 설명하지 못할 수도 있습니다.

나는 pickle 오브젝트의 위치를 ​​설정 파일에 정의합니다.

picklefile = "usr/local/webapp/forest.pickle" 

는 단순히 Dockerfile에 다음과 같은 단계를 추가했다.

RUN chown -R /user/local/webapp/