나는 도커 이미지에 추가하는 ~ 300MB의 압축 파일을 가지고 있습니다. 다음 상태는 이미지를 추출합니다.Docker 이미지를 커밋하지 않고 파일을 추가하는 방법은 무엇입니까?
문제는 ADD 문이 새로운 파일 시스템 계층에서 이미지를 ~ 300MB 크기로 만드는 커밋을 초래한다는 것입니다.
ADD /files/apache-stratos.zip /opt/apache-stratos.zip
RUN unzip -q apache-stratos.zip && \
rm apache-stratos.zip && \
mv apache-stratos-* apache-stratos
질문 : 커밋없이 로컬 파일을 추가하려면 주위에 일이 있습니까?
하나의 옵션은 간단한 웹 서버를 실행하는 것입니다 (예를 들어 python -m SimpleHTTPServer
)에 고정 표시기 빌드를 시작하고 파일을 검색 할 수 wget
를 사용하지만 성가신 조금 보인다 전에 :
RUN wget http://localhost:8000/apache-stratos.zip && \
unzip -q apache-stratos.zip && \
rm apache-stratos.zip && \
mv apache-stratos-* apache-stratos
또 다른 옵션이하는 것입니다 빌드 시간 대신 컨테이너 시작시 zip 파일을 추출하십시오. 그러나 가능한 빨리 시작을 유지하는 것이 좋습니다.
Docker 1.2.0에서'.zip' 파일의 압축을 해제하지 않은 것으로 보입니다. –
"[src]가 인식 된 압축 형식 (identity, gzip, bzip2 또는 xz)의 로컬 tar 아카이브 인 경우 디렉토리로 압축 해제됩니다." –
'.zip' 파일에 대한 지원이 부족한 사실은 의도 된 결정 인 것 같습니다 : https://github.com/docker/docker/issues/15036 – jap1968