আমি একটি ডকার টান করেছি এবং ডাউনলোড করা চিত্রটির তালিকা করতে পারি। আমি এই চিত্রের বিষয়বস্তু দেখতে চাই। নেটে অনুসন্ধান করেছেন কিন্তু সরাসরি কোনও উত্তর নেই।
আমি একটি ডকার টান করেছি এবং ডাউনলোড করা চিত্রটির তালিকা করতে পারি। আমি এই চিত্রের বিষয়বস্তু দেখতে চাই। নেটে অনুসন্ধান করেছেন কিন্তু সরাসরি কোনও উত্তর নেই।
উত্তর:
আপনি কেবল সেই চিত্রটি ব্যবহার করে একটি ইন্টারেক্টিভ শেল ধারক চালনা করতে পারেন এবং ছবিটিতে যা কিছু সামগ্রী রয়েছে তা অন্বেষণ করতে পারেন।
এই ক্ষেত্রে:
docker run -it image_name sh
অথবা একটি সহ চিত্রগুলির জন্য অনুসরণ করা entrypoint
docker run -it --entrypoint sh image_name
অথবা, আপনি যদি চিত্রটি কীভাবে তৈরি হয়েছিল তা দেখতে চান তবে এর পদক্ষেপগুলির অর্থ Dockerfile
আপনি করতে পারেন:
docker image history --no-trunc image_name > image_history
পদক্ষেপগুলি image_history
ফাইলটিতে লগ ইন করা হবে।
docker run -it --entrypoint cmd <image_name>
কাজ করবে।
এখানে গৃহীত উত্তর সমস্যাযুক্ত কারণ কোনও চিত্রের মধ্যে কোনও ধরণের ইন্টারেক্টিভ শেল থাকবে এমন কোনও গ্যারান্টি নেই। উদাহরণস্বরূপ, ড্রোন / ড্রোন ইমেজ একটি কমান্ডের অন সম্বলিত /drone
, এবং এটি একটি হয়েছে ENTRYPOINT
পাশাপাশি, তাই এই ব্যর্থ হবে:
$ docker run -it drone/drone sh
FATA[0000] DRONE_HOST is not properly configured
এবং এটি ব্যর্থ হবে:
$ docker run --rm -it --entrypoint sh drone/drone
docker: Error response from daemon: oci runtime error: container_linux.go:247: starting container process caused "exec: \"sh\": executable file not found in $PATH".
এটি কোনও অস্বাভাবিক কনফিগারেশন নয়; অনেকগুলি ন্যূনতম চিত্রগুলিতে লক্ষ্য পরিষেবাটি সমর্থন করার জন্য প্রয়োজনীয় বাইনারি থাকে। ভাগ্যক্রমে, এমন একটি চিত্র ফাইল-সিস্টেম অনুসন্ধানের ব্যবস্থা আছে যা চিত্রের বিষয়বস্তুর উপর নির্ভর করে না । সবচেয়ে সহজ সম্ভবত হ'ল docker export
আদেশ, যা একটি ধারক সংরক্ষণাগার হিসাবে একটি ধারক ফাইল সিস্টেম রফতানি করবে । সুতরাং, একটি ধারক শুরু করুন (এটি ব্যর্থ হয় বা না তা বিবেচ্য নয়):
$ docker run -it drone/drone sh
FATA[0000] DRONE_HOST is not properly configured
তারপরে docker export
ফাইল সিস্টেমটি রফতানি করতে ব্যবহার করুন tar
:
$ docker export $(docker ps -lq) | tar tf -
docker ps -lq
"আমাকে সাম্প্রতিকতম Docker পাত্রের আইডি দাও" সেখানে মানে। আপনি এটি একটি সুস্পষ্ট ধারকটির নাম বা আইডি দিয়ে প্রতিস্থাপন করতে পারেন।
কেবলমাত্র চিত্রের সামগ্রী দেখতে আপনার ধারক শুরু করা উচিত নয়। উদাহরণস্বরূপ, আপনি দূষিত সামগ্রী অনুসন্ধান করতে চাইতে পারেন, এটি চালাবেন না। "রান" এর পরিবর্তে "তৈরি করুন" ব্যবহার করুন;
docker create --name="tmp_$$" image:tag
docker export tmp_$$ | tar t
docker rm tmp_$$
docker export tmp_$$ > image-fs.tar
।
docker export tmp_$$ | tar t
কাজ করবে না।
tar
আপনার মেশিনে ইনস্টল নাও করতে পারেন। tar --help
এটি পরীক্ষা করার চেষ্টা করুন ।
-o
লিখতে ফাইল নির্দিষ্ট করতে পরামিতি ব্যবহার করতে পারেন । যেমন docker export -o c:\temp\tmp_$$.tar tmp_$$
।
docker save nginx > nginx.tar
tar -xvf nginx.tar
নিম্নলিখিত ফাইল উপস্থিত:
https://sreeninet.wordpress.com/2016/06/11/looking-inside-container-images/
অথবা
আপনি টিউআইয়ের সাথে ইন্টারেক্টিভভাবে চিত্রের সামগ্রী দেখতে ডুব ব্যবহার করতে পারেন
docker
কেবলমাত্র একটি ভিন্ন ধরণের সংরক্ষণাগার ফাইলের বিষয়বস্তুগুলি দেখার প্রয়োজন কেন ।
docker save --output nginx.tar nginx:latest
অন্যথায় ডক অনুসারে এতে "সমস্ত পিতামাতার স্তর এবং সমস্ত ট্যাগ + সংস্করণ" থাকবে
কোনও চিত্রের বিশদ বিষয়বস্তু তালিকাবদ্ধ করতে আপনাকে রান করতে হবে docker run --rm image/name ls -alR
যেখানে --rm
একটি ধারক তৈরি হওয়ার সাথে সাথেই মুছে ফেলতে হবে।
ls
উপলভ্য হয়েছে এবংPATH
এক্সপ্লোরিং ডকার চিত্র !
জিনিসটা কি শেল ধরনের রয়েছে bash
বা sh
বা ...
ছবিটি প্রথমে পরীক্ষা করুন: docker inspect name-of-container-or-image
জসন রিটার্নের জন্য entrypoint
বা cmd
সন্ধান করুন।
তারপরে: docker run --rm -it --entrypoint=/bin/bash name-of-image
একবার ভিতরে করুন: ls -lsa
বা অন্য কোনও শেল কমান্ড যেমন:cd ..
-it
ইন্টারেক্টিভ ... এবং TTY জন্য দাঁড়িয়েছে। --rm
অপসারণ ধারক ঘোরা চালানোর পর।
ls
। বা সত্যই কোন সাধারণ সরঞ্জাম।
আমরা নিম্নলিখিত হিসাবে একটি সহজ চেষ্টা করতে পারেন:
docker image inspect image_id
এটি ডকার সংস্করণে কাজ করেছে:
DockerVersion": "18.05.0-ce"
উইন্ডোজের জন্য ডকার ইই (হাইপার-ভি সার্ভার 2016-এ 17.06.2-ee-6) সহ উইন্ডোজ কনটেইনারগুলির সমস্ত সামগ্রী C:\ProgramData\docker\windowsfilter\
হোস্ট ওএসের পথে পরীক্ষা করা যেতে পারে ।
কোনও বিশেষ মাউন্টিংয়ের প্রয়োজন নেই।
ফোল্ডার উপসর্গ docker ps -a
আউটপুট থেকে ধারক আইডি দ্বারা পাওয়া যাবে ।
অ্যাঙ্কোর নামে একটি মুক্ত ওপেন সোর্স সরঞ্জাম রয়েছে যা আপনি ধারক ইমেজগুলি স্ক্যান করতে ব্যবহার করতে পারেন। এই কমান্ডটি আপনাকে ধারক ইমেলে সমস্ত ফাইল তালিকাভুক্ত করার অনুমতি দেবে
অ্যাঙ্কর-ক্লিমে চিত্র সামগ্রীটি মাইরেপো / অ্যাপ্লিকেশন: সর্বশেষ ফাইল