কীভাবে ডকার-মেশিন মেমরি বাড়ানো যায়


108

আমি ডকারে নতুন, এবং একটি ডকার চিত্র থেকে মেমএসকিউএল সেটআপ করার জন্য এই টিউটোরিয়ালটি দেখার চেষ্টা করছি - http://docs.memsql.com/4.0/setup/docker/ । আমি একটি ম্যাকের সাথে আছি এবং টিউটোরিয়ালটি ব্যবহার করে boot2dockerযা মনে হয় অবহেলা করা হয়েছে।

ভিএম চালানোর জন্য 4 জিবি মেমরির প্রয়োজন। টিউটোরিয়ালটি কীভাবে এটি করতে হয় তা সুনির্দিষ্ট করে boot2dockerতবে আমি ডকার-মেশিন / ডকার টুলবক্সের সাহায্যে এটি করার কোনও উপায় খুঁজে পাচ্ছি না।

আমি যে কমান্ডটি ব্যবহার করছি তা এখানে রয়েছে এবং বুট 2 ডকার কনফিগারেশনটি পরিবর্তন না করেই আমি যে ত্রুটিটি টিউটোরিয়ালটি দিয়ে যাচ্ছি তার চেষ্টা করছি।

docker run --rm --net=host memsql/quickstart check-system
Error: MemSQL requires at least 4 GB of memory to run.

উত্তর:


111

আপনি যখন ডকার মেশিন তৈরি করেন, আপনি মেমরির আকারটি মনোনীত করতে পারেন:

docker-machine create -d virtualbox --virtualbox-memory 4096 default

আমাকে জানতে দা্ও এটা সাহয্য করে কি - না।


এটিকে অবশ্যই মেমরির বরাদ্দ সামঞ্জস্য করার সঠিক জায়গার মতো মনে হয়। তবে, এখনও এই ভিএম পুনরায় চালু করার পরে একই ত্রুটি পেয়েছে getting ইন check-systemপ্রোগ্রাম ( github.com/memsql/memsql-docker-quickstart/blob/master/... ), আমি এই লাইন যা এই ত্রুটি নির্ধারণ হবে দেখছি। ONE_MB = 1024 ** 2, virtual_memory = psutil.virtual_memory(), if virtual_memory.total < ONE_MB * 3700: sys.stderr.write("Error: MemSQL requires at least 4 GB of memory to run.\n")।
— ডিজেএলবো

2
কনফিগারটি পরিবর্তন করে এই কাজটি করতে সক্ষম হন নি, তবে ডকার মেশিন ভিএমটি মুছে ফেলা এবং পুনরুদ্ধার করে উপরের চিত্রটি সমাধান করে সমস্যাটি সমাধান করেছে!
— ডিজেএলবো

অবশ্যই, আমি দ্বিতীয় উপায়ে পরিষ্কার করি, মনে হয় এটি আর কাজ করে না।
— BMW

178

আপনি কমান্ড লাইনের মাধ্যমে এটি করতে পারেন। উদাহরণস্বরূপ, ডিফল্ট 1cpu / 2048MB র্যাম রান থেকে মেশিনটি পরিবর্তন করতে:

docker-machine stop
VBoxManage modifyvm default --cpus 2
VBoxManage modifyvm default --memory 4096
docker-machine start

তারপরে আপনি আপনার সেটিংস পরীক্ষা করতে পারেন:

VBoxManage showvminfo default | grep Memory
VBoxManage showvminfo default | grep CPU

এবং docker-machine inspectজিনিসগুলির সঠিক অবস্থার প্রতিবেদন ~/.docker/machine/machines/default/config.jsonকরার জন্য, আপনার পরিবর্তনগুলি প্রতিফলিত করতে সম্পাদনা করুন ।


1
জিইউআই (সংস্করণ 5.0.16) না করলেও এটি কাজ করে।
— মাইকএফ

6
এই উত্তরটি শীর্ষে থাকা উচিত
— নাকাজুয়েস

5
নোট করুন যে কমান্ড কার্যকর হওয়ার পরে docker-machine inspectকোনও পরিবর্তন দেখাবে না। তবে আপনি চালনা করলে docker statsদেখতে পাবেন যে পরিবর্তনগুলি প্রয়োগ হয়েছে।
— স্লোভিত

@ স্লোভিট এবং অন্যান্য: আপনি তারপরে config.jsonপ্রকৃত আকার প্রতিফলিত করতে ডকার-মেশিন ফাইলটি সংশোধন করতে পারেন । উদাহরণ: defaultউদাহরণস্বরূপ সমাধান হিসাবে ব্যবহৃত হিসাবে, ~/.docker/machine/machines/default/config.jsonফাইলটি এমনভাবে সংশোধন করুন যাতে Memory(এবং CPUযদি এটিও সংশোধন করা হয়) এর অধীনে Driverথাকা সাবপ্রোপার্টিটি পরিবর্তিত হয় 4096। তারপরে, docker-machine inspectসঠিক মান প্রদর্শন করবে।
— স্ক্রিপ্টআউটমেট

80

ডকার সংস্করণ 1.12.1 (বিল্ড: 12133) এবং ম্যাকোস-এর উপরের জন্য ইউআই থেকে সিপিইউ এবং র‌্যাম পরিবর্তন এবং ডকার পুনরায় চালু করার বিকল্প রয়েছে। আপনি সরঞ্জামদণ্ড থেকে পছন্দগুলি সন্ধান করতে পারেন। স্বচ্ছতার জন্য চিত্র সংযুক্ত করা।

পদক্ষেপ: পছন্দসমূহ -> উন্নত -> সংস্থানসমূহ সংস্থান করুন -> প্রয়োগ করুন এবং পুনরায় চালু করুন

https://www.dropbox.com/s/znltd1v4r00nfpu/Screenshot%202017-03-24%2012.12.58.png?dl=0

ডকার উন্নত ট্যাব (মেমরি)


3
এটি অ্যাডভান্সড ট্যাবে চলে গেছে। এটি ভাগ করে নেওয়ার জন্য ধন্যবাদ।
— গ্যাবলেউক্স

মানুষ যে উভয় সুস্পষ্ট এবং সম্পূর্ণ অপ্রচলিত ছিল - আপনাকে ধন্যবাদ!
— AlienWebguy

আমি যদি ভার্চুয়ালবক্সের সাথে ডিঙ্গি ব্যবহার করি তবে কী এই পরিবর্তনগুলি কার্যকর হয়? অথবা আমার কাছে মেমের আকারটি সামঞ্জস্য করার জন্য কেবল ভিবক্সম্যানেজ ব্যবহার করা উচিত?
— আর্টুর 7979

2
এর সমান কমান্ড লাইন আছে কি? আমার কাছে ম্যাকের জন্য ডকার রয়েছে তবে স্পষ্টতই ডকার-মেশিন এলএস আমাকে কিছুই দেয় না যাতে আমি ডিফল্ট মেশিনটি সংশোধন করতে পারি না।
— Andrea Bergonzo

এটি পছন্দ -> আজকের হিসাবে সংস্থানসমূহ।
— swgege218

42

এখানে ডকার মেশিন রক্ষণাবেক্ষণকারী। config.jsonম্যানুয়ালি অ্যাডজাস্ট করা কাজ করবে বলে আমি মনে করি না ।

আপনার দুটি বিকল্প হ'ল হয় --virtualbox-memoryসেট দিয়ে মেশিন তৈরি করা , বা ভার্চুয়ালবক্স জিইউআইতে ভিএম এর স্মৃতি সামঞ্জস্য করা (আমি মনে করি যে ভিএম এর জন্য "সেটিংস> সিস্টেম")। নিশ্চিত করুন যে মেশিনটি চালিত হয়েছে এবং সেখানে একটি সামান্য স্লাইডার থাকা উচিত।

সম্পাদনা: অন্য একটি উত্তর দেখায় যে আপনি কমান্ড লাইন থেকে পাশাপাশি ব্যবহার করে ইন-প্লেসটি করতে পারেন VBoxManage।


3
এটি কাজ করে তবে মনে রাখবেন যে docker-machine inspectভার্চুয়ালবক্স জিইউআইতে পরিবর্তন করার পরেও মেমরির মূল পরিমাণটি প্রতিবেদন করতে থাকবে।
— তমলিন

2
তা সত্য, ক্রম করার জন্য docker-machine inspectসঠিক পরিমাণ প্রতিবেদন, আপনি কি সম্পাদন করা আছে config.json(এর যেখানে যে inspectতার তথ্য পায়)।
— নাথানক্লেয়ার

1
ভার্চুয়ালবক্সে এটি করা সহজতম
— নিরঞ্জন সোনচালাম

14

আমি কাজের অন্যান্য উত্তর পেতে পারি না। আমার পক্ষে একমাত্র কাজটি হ'ল ডিফল্ট মেশিনটি মুছে ফেলা এবং আরও স্মৃতি দিয়ে পুনরায় তৈরি করা।

docker-machine rm default
docker-machine create -d virtualbox --virtualbox-memory=4096 --virtualbox-cpu-count=2 --virtualbox-disk-size=50000 default

এই ফিক্সটি এখানে পাওয়া গেল: https://www.ibm.com/developerworks/commune/blogs/jfp/entry/ ব্যবহার_ডোকার_ম্যাচিন_অন_উইন্ডোস ?lang=en


14

অন্যান্য উত্তরগুলি VBoxManage ব্যবহার করে কীভাবে স্মৃতি পরিবর্তন করতে পারে তা দেখিয়েছে:

docker-machine stop default
VBoxManage modifyvm default --memory 4096
docker-machine start default

কমান্ড লাইন থেকে পরিবর্তনটি নিশ্চিত করতে:

VBoxManage showvminfo default | grep Memory

অথবা

docker-machine ssh default free

হাই সিপিপ, আপনি কি নিজের উত্তরটি সম্পাদনা করতে পারেন এবং কোড ব্লকগুলি সঠিকভাবে ফর্ম্যাট করতে পারেন ?
— টিটি।

4

ফক্স xhyve (ম্যাকোসের অধীনে অন্য একটি ভার্চুয়ালাইজেশন) আপনি ~ / .ডোকার / মেশিন / ডিফল্ট / config.json সম্পত্তি চালক / মেমরি (1024 এ ডিফল্ট) পরিবর্তন করতে পারেন তারপরে পরিবর্তনগুলি প্রয়োগ করতে ডকার মেশিন পুনরায় চালু করুন


আমি এটি অধীনে খুঁজে পেয়েছি ~/.docker/machine/machines/default/config.json। ধন্যবাদ 👍
— তারেক এন। এলসামনি
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.