我有 dockerfile 下載 .zip 檔案夾,因為 docker 容器沒有apt-get。我無法解壓縮它,但似乎 .tar.gz 轉換嵌入在 dockerfile 中。
如何在 dockerfile 中將 .zip 轉換為 .tar.gz?
有沒有其他選擇?gunzip 也不起作用。
somezipfile.zip has more than one entry -- unchanged
Dockerfile 的一部分
RUN curl -LJO http://somelink.com/verynew_python.zip
RUN gunzip -S .zip verynew_python.zip
ADD verynew_python.tar.gz /usr/bin
RUN chmod x /usr/bin/verynew_python/bin/python3.7
抱歉,我無法發布所有 dockerfile,但這是重要的部分。我想將 python3.7 作為主要 python.. 也沒有 wget。
uj5u.com熱心網友回復:
您可以在 docker 容器中安裝軟體包 - 如果您可以自由選擇這樣的作業:
RUN apk add --no-cache unzip
WORKDIR /tmp
COPY testfile.zip .
RUN unzip testfile.zip
RUN rm testfile.zip
RUN tar czvf testfile.tgz *
這導致:
$ docker run -ti x sh
/tmp # ls
testfile testfile.tgz
/tmp #
這很不優雅,但有效。如果您的基本映像來自 docker hub,您可以查找它是否構建在發行版上,如果是,則為它選擇“正確”的包管理器 - 通常apk,yum或apt.
請記住 - 為了保持影像較小 - 包快取通常不可用,您需要apt update像上面一樣獲取它們或必須使用如上所述的非快取方法。
uj5u.com熱心網友回復:
你的 docker 容器有wget嗎?你可以下載解壓然后運行它!
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/340969.html
