जवाबों:
संस्करणों v17.09.0-CE और नए के लिए
वैकल्पिक ध्वज का उपयोग या --chown=<user>:<group>
तो आदेशों के साथ करें।ADD
COPY
उदाहरण के लिए
COPY --chown=<user>:<group> <hostPath> <containerPath>
--Chown ध्वज का प्रलेखन अब मुख्य Dockerfile संदर्भ पृष्ठ पर लाइव है ।
समस्या 34263 को मर्ज कर दिया गया है और रिलीज़ v17.09.0-CE में उपलब्ध है ।
V17.09.0-ce से पुराने संस्करणों के लिए
डॉकर COPY
रूट के अलावा अन्य उपयोगकर्ता के रूप में समर्थन नहीं करता है । आप की जरूरत है chown
/ chmod
फ़ाइल के बादCOPY
आदेश।
उदाहरण डॉकरीफाइल:
from centos:6
RUN groupadd -r myuser && adduser -r -g myuser myuser
USER myuser
#Install code, configure application, etc...
USER root
COPY run-my-app.sh /usr/local/bin/run-my-app.sh
RUN chown myuser:myuser /usr/local/bin/run-my-app.sh && \
chmod 744 /usr/local/bin/run-my-app.sh
USER myuser
ENTRYPOINT ["/usr/local/bin/run-my-app.sh"]
V17.09.0-CE से पहले, COPY
कमांड के लिए डॉकरीफाइल संदर्भ ने कहा:
सभी नई फाइलें और निर्देशिकाएं 0 के यूआईडी और जीआईडी के साथ बनाई गई हैं।
इतिहास इस सुविधा को कई GitHub मुद्दों के माध्यम से ट्रैक किया गया है: 6119 , 9943 , 13600 , 27303 , 28499 , अंक 30110 ।
समस्या 34263 वह समस्या है जिसने वैकल्पिक ध्वज कार्यक्षमता को लागू किया और समस्या 467 ने दस्तावेज़ को अद्यतन किया।
chown
40 एमबी फ़ाइलों पर चलने के लिए 300 एमबी)।