AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 957992
Accepted
Loduwijk
Loduwijk
Asked: 2019-03-13 15:37:18 +0800 CST2019-03-13 15:37:18 +0800 CST 2019-03-13 15:37:18 +0800 CST

如何在 rhel7 docker 构建环境中解压缩 zip 文件 - 虽然在操作系统中找不到解压缩命令

  • 772

作为 docker build 的一部分,我在脚本中有这样一行:

RUN unzip myzipfile.zip

在脚本的那一行,它失败并出现以下错误:

/bin/sh: unzip: command not found

这是在 Red Hat Enterprise Linux 7 上,基础 Docker 镜像也是一个 RHEL7 基础镜像。

如果 Docker 构建环境中不存在 unzip 实用程序,那么我该如何解压缩?unzip 存在于正在进行构建的服务器上,尽管我认为这没有帮助。是否有我应该检查的替代实用程序可以解压缩文件,或者是否需要在基础映像中安装解压缩?

如果有任何方法可以在不需要安装任何东西的情况下做到这一点,那将是可取的,因为我认为我没有权限这样做,即使我这样做了,Docker 构建所在的服务器也没有连接到互联网。

docker
  • 1 1 个回答
  • 24878 Views

1 个回答

  • Voted
  1. Best Answer
    kichik
    2019-03-13T16:23:24+08:002019-03-13T16:23:24+08:00

    您必须unzip使用yum install unzip. 如果您不想unzip出现在最终图像中,您有几个选择:

    1. 如果文件来自构建机器,你可以先在那里解压。
    2. 如果文件来自构建机器并且您可以更改它,请将其重新打包tar.gz并使用ADD myfile.tar.gz /some/folder,Docker 将在那里自动解压它。
    3. 使用multistage build安装unzip,准备文件,然后在第二阶段复制文件。

      FROM registry.access.redhat.com/rhel7/rhel AS builder
      RUN yum install unzip
      ADD myfile.zip /dist
      RUN cd /dist && unzip myfile.zip && rm myfile.zip
      
      FROM registry.access.redhat.com/rhel7/rhel
      COPY --from=builder /dist/ /target
      
    • 3

相关问题

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve