2016-10-08 5 views
8

docker 파일을 실행할 때 Docker에서 오류가 발생합니다. 그것은/var/lib/docker/aufs/layers/xxxx를 말하고 있습니다. Docker 빌드를 실행하면 그러한 파일이나 디렉토리가 없습니다.Docker - 해당 파일이나 디렉토리가 없습니다.

컨테이너와 이미지를 제거하는 데 여러 가지 방법을 시도해 보았습니다.

모든

도커 파일은 다음과 같습니다

FROM node:6 

RUN git clone https://github.com/preboot/angular2-webpack.git 

WORKDIR angular2-webpack 

RUN sed -i.bak 's/--port 8080/--host 0.0.0.0 --port 8080/' 
package.json RUN npm i 

CMD [ "npm", "run", "start" ] 

전체 콘솔 출력은 다음과 같습니다

Sending build context to Docker daemon 
9.728 kB 
Step 1 : FROM node:6 
6: Pulling from library/node 
6a5a5368e0c2: Already exists 
7b9457ec39de: Already exists 
ff18e19c2db4: Already exists 
6a3d69edbe90: Already exists 
0ce4b037e17f: Already exists 
82252a100d5a: Already exists 
Digest: 
sha256:db245bde5445eb122d8dc090ba98539a9ef7f56c0ea981ade643695af0d8eaf0 
Status: Downloaded newer image for node:6 
---> 9873603dc506 Step 2 : 
RUN git clone https://github.com/preboot/angular2-webpack.git open 
/var/lib/docker/aufs/layers/9319fd93cb6d6718243ff2e65ce5d2aa6122a1bb9211aa9f8e88d85c298727e5: 
no such file or directory User:docker-test 

편집

문제는 t을 해결되었습니다 @BMitchs '추천에 행크스 :

  1. RF RM은은/var/lib 디렉토리/고정 표시기/*
  2. 제거 도커 완전히
+0

git clone을 실행하기 전에 작업 디렉토리를 지정하거나 작업 디렉토리로 지정된 원래 노드 이미지에 복제를해야 할 수도 있습니다. – bspates

답변

4

그런 종류의 손상으로 전체 도커에게 시도해보십시오. rm -rf /var/lib/docker/*. 그 전에 데이터 (볼륨)를 백업 한 다음 docker를 종료하면 모든 이미지를 다시 가져 오거나 다시 만들어야합니다. 파일 시스템에 여전히 문제가 있다면 파일 시스템 드라이버를 변경해보십시오. 서비스 시작시 dockerd -s overlay2으로 변경하십시오.

디스크 공간이 부족하거나 응용 프로그램의 이전 버전과 같은 일반적인 문제가 있는지 확인하는 것은 어렵지 않습니다.

+0

폴더를 제거해 주셔서 감사합니다. 문제를 해결하기 위해 수행 한 단계를 포함하도록 질문을 업데이트합니다. – Jimi

1

깨끗한 다시 이미지를 구축하려고 고정 표시기를 설치 다시 machine을 사용하거나 --no-cache 플래그를 사용하면 캐싱 문제처럼 보입니다.

또한 내 회사에서 이미지를 작성하는 기계에 코드를 복제 한 다음 코드를 컨테이너에 복사합니다. 내 의견으로는 더 나은 해결책이지만, 맛의 문제라고 생각합니다.

+0

나는 호스트 머신에 코드를 복제하고 컨테이너에'COPY'한다고 동의한다. 그렇게하면 실제로 사용되는 버전/버전을 제어 할 수 있습니다. OPs의 경우 컨테이너는 컨테이너가 만들어진 날에 따라 다른 버전으로 끝날 수 있습니다. – Martin

+0

--no-cache 플래그를 사용하려고했지만 동일한 오류가 발생했습니다. – Jimi

관련 문제