Cara unzip file zip di rhel7 docker build environment-perintah unzip tidak ditemukan meskipun di OS

Sebagai bagian dari build buruh pelabuhan, saya memiliki baris dalam skrip seperti itu:

RUN unzip myzipfile.zip

Pada baris itu dalam skrip, gagal dengan kesalahan berikut:

/bin/sh: unzip: command not found

Ini ada di Red Hat Enterprise Linux 7, dan gambar buruh pelabuhan dasar juga merupakan gambar dasar RHEL7.

Jika utilitas unzip tidak ada di lingkungan pembuatan Docker, lalu bagaimana cara unzip sesuatu? unzip hadir di server yang melakukan build, meskipun saya kira itu tidak membantu. Apakah ada utilitas alternatif yang harus saya periksa yang dapat mengekstrak file, atau apakah unzip perlu diinstal pada gambar dasar?

Jika ada cara untuk melakukan ini tanpa perlu menginstal apa pun, itu akan lebih baik, karena saya rasa saya tidak memiliki izin untuk melakukan itu, dan bahkan jika saya melakukannya, server Tempat Pembuatan buruh pelabuhan tidak terhubung ke internet.

Anda harus menginstal unzip dengan yum install unzip. Jika Anda tidak ingin unzip untuk berada di gambar akhir, Anda memiliki beberapa pilihan:

  1. Jika file berasal dari Mesin build, Anda dapat membongkarnya di sana terlebih dahulu.
  2. Jika file berasal dari Mesin build dan Anda dapat mengubahnya, kemas ulang sebagai tar.gz dan menggunakan ADD myfile.tar.gz /some/folder dan Docker akan secara otomatis membukanya di sana.
  3. Gunakan membangun multistage untuk menginstal unzip, Siapkan File, lalu salin file di tahap kedua.

    FROM registry.access.redhat.com/rhel7/rhel AS builderRUN yum install unzipADD myfile.zip /distRUN cd /dist && unzip myfile.zip && rm myfile.zipFROM registry.access.redhat.com/rhel7/rhelCOPY --from=builder /dist/ /target