Dockerfile의 ADD는 url을 복사 원본으로 지정하면 자동 압축을 풀지 않습니다.
4294 단어 dockerfile도커
원래 ADD 자체 사용하는 것이 별로 추천할 수 없다.
액세스 처의 콘텐츠가 멱등이라면
wget gzip tar
로 충분하다고 하는 것이 강한 사람의 생각 같은 것입니다.better docker image - Speaker Deck
RUN wget
로 하는 것으로 cache가 효과가 있다과연.
소개
ADD로 remote url을 지정해 tgz 떨어뜨려, 그대로 전개해 줄게 네라고 생각하고 있으면 주지 않았으므로 울면서 RUN
를 썼다.
마지막 것은 이것
DockerfileRUN mkdir example \
&& curl -sL http://example.com/release/1.0/example-bin-1.0.tgz \
| tar zx -C example --strip-components 1
rm 등은 사용하지 않지만 그다지 아름답지 않다. . .
ADD | Dockerfile
Dockerfile을 배우면서 쓰고 있으면 ADD
라는 것을 알았다
The ADD instruction copies new files, directories or remote file URLs from and adds them to the filesystem of the image at the path .
ADD | Docker Documentation
간단히 말하면 指定したファイルやディレクトリをコンテナ内に追加する
지침.
같은 것에 COPY
라고 하는 것이 있다.
ADD와 COPY의 차이
흠뻑.
더 깊이 알고 싶다면 여기
[docker] COPY와 ADD의 차이점을 시도했습니다. - Qiita
COPY
DockerfileCOPY
RUN mkdir example \
&& curl -sL http://example.com/release/1.0/example-bin-1.0.tgz \
| tar zx -C example --strip-components 1
Dockerfile을 배우면서 쓰고 있으면
ADD
라는 것을 알았다The ADD instruction copies new files, directories or remote file URLs from and adds them to the filesystem of the image at the path .
ADD | Docker Documentation
간단히 말하면
指定したファイルやディレクトリをコンテナ内に追加する
지침.같은 것에
COPY
라고 하는 것이 있다.ADD와 COPY의 차이
흠뻑.
더 깊이 알고 싶다면 여기
[docker] COPY와 ADD의 차이점을 시도했습니다. - Qiita
COPY
Dockerfile
COPY
ADD
Dockerfile
ADD
거친 차이는 이런 느낌.
ADD
에서 remote의 압축된 파일을 지정하면 그대로 압축을 풀고 컨테이너 내에 설치할 수 있을 것!그것이 가능하면
wget && tar && rm
라든지 넌센스인 RUN
를 하지 않아서 미안해!-> 할 수 없었습니다.
에러가 발생해 Twitter로 슬퍼하고 있으면 친구로부터 공식 레퍼런스를 던질 수 있다.
Resources from remote URLs are not decompressed.
요약 : remote url을 지정하면 자동 압축 풀기가 없습니다.
Dockerfile 참조 | Docker Documentation
카시미
최종 형태
RUN curl -sL http://example.com/release/1.0/example-bin-1.0.tgz \
| tar zx -C ./
# la
example-bin-1.0/
# tree example-bin-1.0
example-bin-1.0
├── bin
│ ├── example
│ ├── sample
│ └── answer
・
・
curl한 것을 tar에 파이프로 건네주는 것으로 조금은 마시한 Dockerfile이 되었다.
단지 이것이라고 하면 example-bin-1.0
RUN mkdir example \
&& curl -sL http://example.com/release/1.0/example-bin-1.0.tgz \
| tar zx -C example --strip-components 1
tar의 옵션으로 케어해 준다.
이제 mv example-bin-1.0 example
한 것 같은 상태.
# la
example/
# tree example
example
├── bin
│ ├── example
│ ├── sample
│ └── answer
・
・
/tmp라든지 떨어뜨려, 해동해, 리네임 해,/tmp에 보존한 녀석 삭제…
여담
remote의 압축 파일을 ADD
하면(자) 전개되어 버리는 버젼이 있었던 것 같아서,
참조와 거동이 다르면 이슈가 서 있었다.
Behaviour of ADD for remote tar balls changed with 17.06 · Issue #33849 · moby/moby
그래.
Reference
이 문제에 관하여(Dockerfile의 ADD는 url을 복사 원본으로 지정하면 자동 압축을 풀지 않습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/2357gi/items/098c28e0ab6608439f79
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
RUN curl -sL http://example.com/release/1.0/example-bin-1.0.tgz \
| tar zx -C ./
# la
example-bin-1.0/
# tree example-bin-1.0
example-bin-1.0
├── bin
│ ├── example
│ ├── sample
│ └── answer
・
・
RUN mkdir example \
&& curl -sL http://example.com/release/1.0/example-bin-1.0.tgz \
| tar zx -C example --strip-components 1
# la
example/
# tree example
example
├── bin
│ ├── example
│ ├── sample
│ └── answer
・
・
remote의 압축 파일을
ADD
하면(자) 전개되어 버리는 버젼이 있었던 것 같아서,참조와 거동이 다르면 이슈가 서 있었다.
Behaviour of ADD for remote tar balls changed with 17.06 · Issue #33849 · moby/moby
그래.
Reference
이 문제에 관하여(Dockerfile의 ADD는 url을 복사 원본으로 지정하면 자동 압축을 풀지 않습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/2357gi/items/098c28e0ab6608439f79텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)