আসল প্রশ্ন: ডকফাইফিলে ভলিউম নির্দেশিকাটি কীভাবে ব্যবহার করবেন?
আসল প্রশ্নটি যেটি আমি সমাধান করতে চাই তা হ'ল - বিল্ড চলাকালীন ডকফাইফিলের হোস্ট ভলিউমগুলি ডকার পাত্রে কীভাবে মাউন্ট করবেন, অর্থাত্ docker run -v /export:/export
সময়কালের ক্ষমতা থাকা উচিত docker build
।
এর পেছনের কারণটি হ'ল ডকারে জিনিস তৈরি করার সময় আমি সেগুলি চাই না (apt-get install
) ক্যাশেগুলি একটি ডকারে লক করা আছে, তবে সেগুলি ভাগ / পুনরায় ব্যবহার করা উচিত। আমি এই প্রশ্নটি সম্পর্কে জিজ্ঞাসা করার মূল কারণ।
সর্বশেষ আপডেট:
ডকার ভি 18.09 এর আগে সঠিক উত্তরটি দিয়ে শুরু হওয়া উচিত:
একটি বিল্ড চলাকালীন ভলিউম মাউন্ট করার একটি উপায় রয়েছে তবে এতে ডকফাইলস জড়িত না।
যাইহোক, এটি একটি দুর্বল বিবৃত, সংগঠিত এবং সমর্থিত উত্তর ছিল। যখন আমি আমার ডকারটি পুনরায় ইনস্টল করছিলাম তখন আমি নীচের নিবন্ধটিতে হোঁচট খেয়েছি:
একটি অ্যাপ্লিকেশন-ক্যাচার-এনজি পরিষেবাটি ডকোরাইজ করুন
https://docs.docker.com/engine/example/apt-cacher-ng/
এটি প্রত্যক্ষ নয় অপ্রত্যক্ষভাবে এই / আমার প্রশ্নের ডকের সমাধান। এটি গোঁড়া উপায় ডকার আমাদের করতে পরামর্শ দেয়। এবং আমি স্বীকার করি যে এখানে আমি জিজ্ঞাসা করার চেষ্টা করেছি তার চেয়ে এটি ভাল।
আর একটি উপায় হ'ল, সদ্য গৃহীত উত্তর , যেমন, v18.09-এ বিল্ডকিট।
আপনার জন্য উপযুক্ত যেটি চয়ন করুন।
ছিল: একটি সমাধান ছিল - রকার, যা ডকারের কাছ থেকে ছিল না, তবে এখন যে রকার বন্ধ হয়ে গেছে, আমি উত্তরটি আবার "সম্ভব না" ফেরত দেব ।
পুরানো আপডেট: সুতরাং উত্তরটি "সম্ভব নয়"। Https://github.com/docker/docker/issues/3156 এ সমস্যাটি ব্যাপকভাবে আলোচিত হয়েছে বলে আমি উত্তর হিসাবে এটি গ্রহণ করতে পারি । আমি বুঝতে পারি যে বহনযোগ্যতা ডকার বিকাশকারীদের জন্য সর্বজনীন সমস্যা; তবে ডকার ব্যবহারকারী হিসাবে, আমাকে বলতে হবে আমি এই হারিয়ে যাওয়া বৈশিষ্ট্যটি সম্পর্কে খুব হতাশ। উপরোক্ত আলোচনার একটি উদ্ধৃতি দিয়ে আমার যুক্তিটি বন্ধ করতে দাও: " আমি জেন্টুকে বেস ইমেজ হিসাবে ব্যবহার করতে চাই তবে অবশ্যই চিত্রটি তৈরি হওয়ার পরে> ১ জিবি পোর্টেজ ট্রি ডেটা কোনও স্তরের মধ্যে থাকতে চাই না You আপনি এটি ইনস্টল করার সময় ইমেজটিতে উপস্থিত হওয়া বিশাল পোর্টেজ গাছের জন্য না থাকলে কিছু দুর্দান্ত একটি কমপ্যাক্ট ধারক থাকতে পারে।"হ্যাঁ, আমি যা যা প্রয়োজন তা ডাউনলোড করার জন্য আমি উইজেট বা কার্ল ব্যবহার করতে পারি, তবে কেবল একটি পোর্টেবিলিটি বিবেচনার ফলে এখন আমি জেন্টু বেস চিত্রটি প্রতিবার তৈরি করার সময়> 1 গিগাবাইট পোর্টেজ ট্রি ডাউনলোড করতে বাধ্য করছি না। আরও আরও, প্যাকেজ সংগ্রহস্থলটি সবসময় / usr / Portage এর অধীনে থাকবে, এভাবে জেন্টোর অধীনে সর্বদা পোর্টেবল থাকবে আবারও, আমি এই সিদ্ধান্তকে সম্মান করি, তবে দয়া করে মাঝামাঝি সময়ে আমার হতাশা প্রকাশ করার অনুমতি দিন।ধন্যবাদ
বিশদে মূল প্রশ্ন :
থেকে
খণ্ডের মাধ্যমে ডিরেক্টরি শেয়ার করুন
http://docker.readthedocs.org/en/v0.7.3/use/working_with_volume/
এটি বলে যে ডেটা ভলিউম বৈশিষ্ট্য "ডকার রিমোট এপিআই এর সংস্করণ 1 থেকে পাওয়া যায়"। আমার ডকার সংস্করণ 1.2.0 এর, কিন্তু আমি উপরের নিবন্ধে দেওয়া উদাহরণটি কাজ করছে না তা পেয়েছি:
# BUILD-USING: docker build -t data .
# RUN-USING: docker run -name DATA data
FROM busybox
VOLUME ["/var/volume1", "/var/volume2"]
CMD ["/usr/bin/true"]
ভলিউম কমান্ডের মাধ্যমে হোকার-মাউন্টযুক্ত ভলিউমগুলিকে ডকারের ধারকগুলিতে মাউন্ট করার ডকফায়লে সঠিক উপায় কী?
$ apt-cache policy lxc-docker
lxc-docker:
Installed: 1.2.0
Candidate: 1.2.0
Version table:
*** 1.2.0 0
500 https://get.docker.io/ubuntu/ docker/main amd64 Packages
100 /var/lib/dpkg/status
$ cat Dockerfile
FROM debian:sid
VOLUME ["/export"]
RUN ls -l /export
CMD ls -l /export
$ docker build -t data .
Sending build context to Docker daemon 2.56 kB
Sending build context to Docker daemon
Step 0 : FROM debian:sid
---> 77e97a48ce6a
Step 1 : VOLUME ["/export"]
---> Using cache
---> 59b69b65a074
Step 2 : RUN ls -l /export
---> Running in df43c78d74be
total 0
---> 9d29a6eb263f
Removing intermediate container df43c78d74be
Step 3 : CMD ls -l /export
---> Running in 8e4916d3e390
---> d6e7e1c52551
Removing intermediate container 8e4916d3e390
Successfully built d6e7e1c52551
$ docker run data
total 0
$ ls -l /export | wc
20 162 1131
$ docker -v
Docker version 1.2.0, build fa7b24f
VOLUME ~/host_dir ~/container_dir
। আলোচনাটি বেশ বিস্তৃত, সংক্ষেপে সংক্ষিপ্ত পথের কারণ কী?