将 .zip 转换为 tar.gz inside dockerfile[solve]
Convert .zip into tar.gz inside dockerfile[solve]
我得到了 docker 下载 .zip 文件夹的文件,因为 docker 容器没有 apt-get。我无法 解压 它,但似乎 .tar.gz 转换嵌入在 docker 文件中。
如何将 docker 文件中的 .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
抱歉,我无法 post 所有 docker 文件,但这是最重要的部分。我想把 python3.7 作为主要 python.. 也没有 wget。
你的 docker 容器有 wget 吗?您可以下载 unzip 然后 运行 它!
您可以在 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
一样获取它们,或者必须使用像上面那样的非缓存方法。
我得到了 docker 下载 .zip 文件夹的文件,因为 docker 容器没有 apt-get。我无法 解压 它,但似乎 .tar.gz 转换嵌入在 docker 文件中。
如何将 docker 文件中的 .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
抱歉,我无法 post 所有 docker 文件,但这是最重要的部分。我想把 python3.7 作为主要 python.. 也没有 wget。
你的 docker 容器有 wget 吗?您可以下载 unzip 然后 运行 它!
您可以在 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
一样获取它们,或者必须使用像上面那样的非缓存方法。