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


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.