आरएचईएल 7 डॉकर बिल्ड एनवायरनमेंट में ज़िप फ़ाइल को अनज़िप कैसे करें-अनज़िप कमांड ओएस में नहीं मिला

डॉकर बिल्ड के हिस्से के रूप में, मेरे पास स्क्रिप्ट में एक पंक्ति है जैसे:

RUN unzip myzipfile.zip

स्क्रिप्ट में उस पंक्ति पर, यह निम्न त्रुटि के साथ विफल हो रहा है:

/bin/sh: unzip: command not found

यह रेड हैट एंटरप्राइज लिनक्स 7 पर है, और बेस डॉकर इमेज भी एक आरएचईएल 7 बेस इमेज है ।

यदि डॉकर बिल्ड वातावरण में अनज़िप उपयोगिता मौजूद नहीं है, तो मैं कुछ कैसे अनज़िप करूं? अनज़िप उस सर्वर पर मौजूद है जो बिल्ड कर रहा है, हालांकि मुझे लगता है कि यह मदद नहीं करता है । क्या कोई वैकल्पिक उपयोगिता है जिसे मुझे जांचना चाहिए कि फ़ाइलों को अनज़िप कर सकते हैं, या अनज़िप को आधार छवि में स्थापित करने की आवश्यकता है?

अगर कुछ भी स्थापित करने की आवश्यकता के बिना ऐसा करने का कोई तरीका है, तो यह बेहतर होगा, क्योंकि मुझे नहीं लगता कि मुझे ऐसा करने की अनुमति है, और अगर मैंने किया भी, तो डॉकर बिल्ड पर होने वाला सर्वर कनेक्ट नहीं है इंटरनेट ।

आपको इंस्टॉल करना होगा unzip साथ में yum install unzip. अगर तुम नहीं चाहते unzip अंतिम छवि में होने के लिए, आपके पास कुछ विकल्प हैं:

  1. यदि फ़ाइल बिल्ड मशीन से आती है, तो आप इसे पहले वहां अनपैक कर सकते हैं ।
  2. यदि फ़ाइल बिल्ड मशीन से आती है और आप इसे बदल सकते हैं, तो इसे इस प्रकार दोहराएं tar.gz और उपयोग करें ADD myfile.tar.gz /some/folder और डॉकर स्वचालित रूप से इसे वहां अनपैक कर देगा ।
  3. उपयोग करें multistage का निर्माण स्थापित करना unzip, फ़ाइलें तैयार करें, और फिर दूसरे चरण में फ़ाइलों की प्रतिलिपि बनाएँ ।

    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