作为 docker build 的一部分,我在脚本中有这样一行:
RUN unzip myzipfile.zip
在脚本的那一行,它失败并出现以下错误:
/bin/sh: unzip: command not found
这是在 Red Hat Enterprise Linux 7 上,基础 Docker 镜像也是一个 RHEL7 基础镜像。
如果 Docker 构建环境中不存在 unzip 实用程序,那么我该如何解压缩?unzip 存在于正在进行构建的服务器上,尽管我认为这没有帮助。是否有我应该检查的替代实用程序可以解压缩文件,或者是否需要在基础映像中安装解压缩?
如果有任何方法可以在不需要安装任何东西的情况下做到这一点,那将是可取的,因为我认为我没有权限这样做,即使我这样做了,Docker 构建所在的服务器也没有连接到互联网。
您必须
unzip
使用yum install unzip
. 如果您不想unzip
出现在最终图像中,您有几个选择:tar.gz
并使用ADD myfile.tar.gz /some/folder
,Docker 将在那里自动解压它。使用multistage build安装
unzip
,准备文件,然后在第二阶段复制文件。