আমি অফিসিয়াল tomcat
চিত্র থেকে নির্মিত একটি ডকার ইমেজে একটি ফাইল যুক্ত করার চেষ্টা করছি । এই চিত্রটির মূল অধিকার নেই বলে মনে হয় না, tomcat
আমি ব্যাশ চালালে আমি ব্যবহারকারী হিসাবে লগইন করেছি:
docker run -it tomcat /bin/bash
tomcat@06359f7cc4db:/usr/local/tomcat$
যদি আমি Dockerfile
সেই ধারকটিতে কোনও ফাইল অনুলিপি করার নির্দেশ দিই , তবে ফাইলটির অনুমতি রয়েছে 644
এবং সেই মালিকের রয়েছে root
। আমি যতদূর বুঝতে পেরেছি, ডকফাইফিলের সমস্ত কমান্ড রুট হিসাবে চালিত হওয়ায় এটি যুক্তিযুক্ত বলে মনে হয়। তবে আমি যদি সেই ফাইলটির মালিকানা পরিবর্তন করতে চেষ্টা করি তবে tomcat:tomcat
আমি একটি Operation not permitted
ত্রুটি পেয়েছি ।
আমি কেন সেই চিত্রটিতে অনুলিপি করা কোনও ফাইলের অনুমতিগুলি পরিবর্তন করতে পারি না?
এটি কীভাবে পুনরুত্পাদন করা যায়:
mkdir docker-addfilepermission
cd docker-addfilepermission
touch test.txt
echo 'FROM tomcat
COPY test.txt /usr/local/tomcat/webapps/
RUN chown tomcat:tomcat /usr/local/tomcat/webapps/test.txt' > Dockerfile
docker build .
এর আউটপুট docker build .
:
Sending build context to Docker daemon 3.072 kB
Sending build context to Docker daemon
Step 0 : FROM tomcat
---> 44859847ef64
Step 1 : COPY test.txt /usr/local/tomcat/webapps/
---> Using cache
---> a2ccb92480a4
Step 2 : RUN chown tomcat:tomcat /usr/local/tomcat/webapps/test.txt
---> Running in 208e7ff0ec8f
chown: changing ownership of '/usr/local/tomcat/webapps/test.txt': Operation not permitted
2014/11/01 00:30:33 The command [/bin/sh -c chown tomcat:tomcat /usr/local/tomcat/webapps/test.txt] returned a non-zero code: 1
root
? তারা কেনUSER
নির্দেশকে আমলে নেয় না ?