निम्नलिखित Dockerfileडोकर कॉपी और परिवर्तन मालिक
FROM ubuntu
RUN groupadd mygroup
RUN useradd -ms /bin/bash -G mygroup john
MKDIR /data
COPY test/ /data/test data
RUN chown -R john:mygroup /data
CMD /bin/bash
अपने परीक्षण निर्देशिका में, जो कॉपी किया जाता है मैं 770
करने के लिए फ़ाइल अनुमति सेट किया है, तो मैं अपने कंटेनर के अंदर एक su john
कर देखते हुए, मैं मेरी परीक्षण निर्देशिका में किसी भी फाइल या उपनिर्देशिका का उपयोग नहीं कर सकता। ऐसा लगता है कि यह समस्या aufs फाइल सिस्टम में स्वामित्व से संबंधित है, जहां कॉपी की गई निर्देशिका अभी भी रूट और अनुमतियों के स्वामित्व में है 770 पर सेट की गई है।
क्या इस समस्या के लिए अनुमतियों को सही तरीके से सेट करने के लिए कोई समाधान है? कोई भी इसे कॉपी करने से पहले कंटेनर उपयोगकर्ता के यूआईडी में मूल निर्देशिका की अनुमतियां सेट कर सकता है। लेकिन यह एक हैक की तरह लगता है।
'कॉपी' और 'एमकेडीआईआर' से पहले मुझे लगता है कि आपके पास 'यूजर जॉन' – user2915097
होना चाहिए शायद यह काम कर सकता है, लेकिन मुझे पूरी निर्देशिका संरचना बनाना होगा जो कॉपी किया गया है और इसलिए यह स्वीकार्य नहीं है। –