요즘은 dockerfile을 만들었어요. 명령은 다음과 같습니다:
그런 다음 dockerfile이 빌드되어 다음과 같이 표시됩니다.
tar (child): nginx-1.8.0.tar.gz: Cannot read: Is a directory
tar (child): At beginning of tape, quitting now
tar (child): Error is not recoverable: exiting now
gzip: stdin: unexpected end of file
tar: Child returned status 2
tar: Error is not recoverable: exiting now
The command '/bin/sh -c cd /usr/local/src/ && tar zxvf nginx-1.8.0.tar.gz' returned a non-zero code: 2
그런 다음 그것이 도커 컨테이너의 작업 파일이 되었을 수도 있다고 추측했습니다. 그런 다음 다음 명령을 사용했습니다.
docker rm -f $(docker ps -a -q)
컨테이너를 삭제하고, 성공적으로 생성되지 않은 이미지도 삭제했습니다. 그런 다음 dockerfile도 빌드했지만 이 문제도 표시되었습니다. 어떻게 처리해야할지 모르겠습니다.
마지막으로 일부 사람들은 호스트 시스템에 nginx-1.8.0.tar.gz 작업 파일이 생성될 수 있다고 추측하지만 그게 무슨 뜻인지는 모르겠습니다.
감사해요. 저의 부족한 중국어 영어를 용서해주세요.
답변1
ADD 대신 COPY를 사용해야 합니다.이 링크를 확인하세요
조사하다다음에 추가그리고복사동작을 자세히 설명하는 문서입니다. ADD와 COPY는 비슷한 기능을 가지고 있습니다. 일반적으로 COPY가 선호됩니다. ADD보다 투명하기 때문이다. COPY는 로컬 파일을 컨테이너로 복사하는 기본 기능만 지원하는 반면 ADD에는 즉시 명확하지 않은 일부 기능이 있습니다.
ADD는 URL을 허용합니다
ADD의 매개변수가 인식된 압축 형식의 압축 패키지인 경우 압축을 해제합니다.