ডকার পাত্রে একাধিক ভলিউম মাউন্ট করবেন?


152

আমি জানি যে আমি আমার ধারকটিতে এমন কিছু ব্যবহার করে আমার হোস্টে একটি ডিরেক্টরি মাউন্ট করতে পারি

docker run -t -i -v '/on/my/host:/on/the/container' ubuntu /bin/bash

একাধিক হোস্ট-ধারক জুটি তৈরির উপায় কি নেই? উদাহরণস্বরূপ কমা-বিচ্ছিন্ন তালিকা, বা একটি অ্যারে পাস?


যেহেতু আমি ডক্স শর্তাবলীর বর্তমান অবস্থা বুঝতে পেরেছি, আপনি কোনও ভলিউম (প্রশ্নের শিরোনাম) মাউন্ট করতে পারবেন না, আপনার অবশ্যই হোস্ট ফোল্ডারগুলিতে অনেকগুলি বাঁধার মাউন্ট থাকতে পারে (এটাই প্রশ্নের প্রশ্নের মূল অংশের জন্য জিজ্ঞাসা করা হয়)
আলেক্সি মার্টিয়ানভ

উত্তর:


260

একাধিক পাস -v যুক্তি ।

এই ক্ষেত্রে:

docker -v /on/my/host/1:/on/the/container/1 \
       -v /on/my/host/2:/on/the/container/2 \
       ...

2
ঠিক আছে, তাই আমি ঠিক এটি একইভাবে করছি তবে আমি যখন দ্বিতীয়টিকে কল করার চেষ্টা করি তখন এটি বলে যে এটি পাওয়া যায় নি।
মোমল

ডকার রান -v / হোম / ইউএসআর / ওয়ার্কস্পেস / প্রজ / ওয়েবসন্ট / ফাইল / ইউজারনেম: / মাইকোড-ভি / হোম / ইউএসআর / ওয়ার্কস্পেস / প্রোজ / ওয়েবকন্ট / ফাইল: / টিএসটি জিসিসি: 4.9 শ-সি সিডি মাইকোড; gcc -o myapp ./mycode.c; সিডি টিএসটি; ./myapp <./test.txt 'এটি আমার কমান্ড, আমি প্রথম ভলিউমে থাকা মাইকোড.কে সংকলন করার চেষ্টা করছি, তবে সেই একই ফাইলটিকে ভিন্ন ভলিউম থেকে স্টিডিন দেব। আমি এটা কিভাবে করব?
মোমল

1
@ ইয়েচেইজ, আমি (দৃ strongly়ভাবে) এটিকে একটি পৃথক প্রশ্ন হিসাবে খোলার পরামর্শ দিচ্ছি, এবং একটি পুনরুত্পাদনকারী তৈরি করার চেষ্টা করব। (আপনি যদি পাবলিক রেজিস্ট্রিতে ডকার ইমেজ সহ বাগটি ত্রুটিযুক্ত করতে পারেন এবং প্রশ্নে প্রদত্ত স্ক্রিপ্টে সমস্ত স্থানীয় নির্ভরতা তৈরি করতে পারেন, এটি আদর্শ হবে)।
চার্লস ডাফি

এটির জন্য কি সর্বদা পরম পাথের প্রয়োজন?
xatzistnr

3
গন্তব্যটি সর্বদা নিরঙ্কুশ হতে হবে। উত্সটি হয় কোনও নিখুঁত পাথ বা নামযুক্ত ভলিউমের জন্য শনাক্তকারী হওয়া দরকার - পরবর্তীকালে ডকসগুলির জন্য ডকস.ডকার.ইনজিন / অ্যাডমিন / ভলিউমস / ভলিউম দেখুন ।
চার্লস ডাফি

19

ডকার এখন ব্যবহারের দিকে সরে যাওয়ার পরামর্শ দেয় --mount

একাধিক ভলিউম মাউন্টগুলি বর্তমান ডকার ডকুমেন্টেশনে বিশদভাবে ব্যাখ্যা করা হয়েছে।

থেকে: https://docs.docker.com/storage/bind-mounts/

$ docker run -d \
  -it \
  --name devtest \
  --mount type=bind,source="$(pwd)"/target,target=/app \
  --mount type=bind,source="$(pwd)"/target,target=/app2,readonly,bind-propagation=rslave \
  nginx:latest

মূল পুরানো উত্তর এখনও কাজ করা উচিত; উত্তরটি বর্তমানের সর্বাধিক পরিচিত পদ্ধতিতে সারিবদ্ধ রাখার চেষ্টা করছি।


ডকারের মাইগ্রেশনের সুপারিশ করার একমাত্র কারণটি যুক্তিযুক্ত কারণ তাদের গবেষণা দেখায় - মাউন্টটি ব্যবহার করা সহজ এবং এর আরও বিকল্প রয়েছে। -V বা - মাউন্ট ব্যবহার করা পুরোপুরি সূক্ষ্ম, এটি আপনার ব্যক্তিগত পছন্দ এবং প্রয়োজনের নিচে।
কিলারকোড

18

আপনি ধারকটিতে একাধিক ডিরেক্টরি মাউন্ট করতে কমান্ডে -vএকাধিকবার বিকল্প ব্যবহার করতে পারেন docker run:

docker run -t -i \
  -v '/on/my/host/test1:/on/the/container/test1' \
  -v '/on/my/host/test2:/on/the/container/test2' \
  ubuntu /bin/bash



-9

অথবা আপনি করতে পারেন

docker run -v /var/volume1 -v /var/volume2 DATA busybox true

4
ওপি এর পরে যা হয় তা নয়। এটি ধারকটির মধ্যে একটি ভলিউম তৈরি করে এবং এটি হোস্টের সাথে আবদ্ধ করে না।
আইওনিস

8
আপনি ঠিক বলেছেন, হওয়া উচিত: ডকার রান-ভি / ভার্ / ভলিউম 1: / ধারক / ভলিউম 1-ভি / ভার / ভলিউম 2: / ধারক / ভলিউম 2 ডেটা ব্যস্তবক্স সত্য
জাস্ট ভ্যান ডার ল্যান
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.