2015-09-29 41 views
84

Tôi mới vào Docker, và cố gắng đi qua hướng dẫn này thiết lập MemSQL từ một hình ảnh Docker - http://docs.memsql.com/4.0/setup/docker/. Tôi đang sử dụng máy Mac và hướng dẫn sử dụng boot2docker dường như không được chấp nhận.Làm thế nào để tăng bộ nhớ docker-máy Mac

Máy ảo cần bộ nhớ 4GB để chạy. Hướng dẫn này chỉ định cách thực hiện điều này với boot2docker nhưng tôi không thể tìm thấy cách để thực hiện việc này với hộp công cụ docker-machine/docker.

Đây là lệnh tôi đang sử dụng và lỗi tôi đang cố gắng thực hiện trong hướng dẫn mà không thay đổi cấu hình boot2docker.

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

Trả lời

91

khi bạn tạo máy Docker, bạn có thể đề cử kích thước bộ nhớ:

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

Hãy cho tôi biết nếu điều này giúp.

+0

này chắc chắn có vẻ như đúng nơi để điều chỉnh phân bổ bộ nhớ. Tuy nhiên, vẫn nhận được lỗi tương tự sau khi khởi động lại máy ảo này. Trong chương trình 'check-system' (https://github.com/memsql/memsql-docker-quickstart/blob/master/check-system), tôi thấy những dòng này sẽ xác định lỗi này. 'ONE_MB = 1024 ** 2',' virtual_memory = psutil.virtual_memory() ',' nếu virtual_memory.total DJElbow

+2

Không thể làm việc này bằng cách thay đổi cấu hình, nhưng việc xóa và tạo lại máy docker vm như đã trình bày ở trên đã giải quyết được vấn đề! – DJElbow

+0

Chắc chắn, tôi dọn dẹp theo cách thứ hai, có vẻ như nó không hoạt động nữa. – BMW

40

Trình bảo trì máy Docker tại đây. Tôi không nghĩ rằng việc điều chỉnh config.json theo cách thủ công sẽ hoạt động.

Hai tùy chọn của bạn là tạo ra máy với --virtualbox-memory thiết lập hoặc điều chỉnh bộ nhớ của VM trong GUI VirtualBox ("Cài đặt> Hệ thống" cho máy ảo mà tôi nghĩ). Đảm bảo máy đã tắt nguồn và cần có một thanh trượt nhỏ hoạt động.

EDIT: Câu trả lời khác cho thấy bạn có thể thực hiện thao tác tại chỗ từ dòng lệnh cũng như sử dụng VBoxManage.

+1

Điều này hoạt động nhưng lưu ý rằng 'docker-machine inspect' sẽ tiếp tục báo cáo số lượng bộ nhớ ban đầu ngay cả sau khi thay đổi nó trong VirtualBox GUI. – Tamlyn

+1

Đó là sự thật, để có 'docker-máy kiểm tra' báo cáo số tiền chính xác, bạn _do_ phải chỉnh sửa' config.json' (đó là nơi 'kiểm tra' được thông tin của nó). – nathanleclaire

+1

Làm điều đó trong Virtualbox là đơn giản nhất –

123

Bạn có thể thực hiện việc này thông qua dòng lệnh. Ví dụ: để thay đổi máy từ bộ nhớ RAM 1cpu/2048MB mặc định:

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

Điều này làm việc ngay cả khi GUI (phiên bản 5.0.16) sẽ không. – MikeF

+3

Câu trả lời này nên ở đầu – nakajuice

+0

Cảm ơn, làm việc tốt trên mac –

8

Tôi không thể nhận được các câu trả lời khác để hoạt động. Điều duy nhất làm việc cho tôi là loại bỏ máy mặc định và tạo lại nó với nhiều bộ nhớ hơn.

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

sửa chữa này được tìm thấy ở đây: https://www.ibm.com/developerworks/community/blogs/jfp/entry/Using_Docker_Machine_On_Windows?lang=en

54

Đối Docker phiên bản 1.12.1 (xây dựng: 12.133) và cao hơn trên hệ điều hành MacOS có một tùy chọn để thay đổi của CPU và RAM từ giao diện người dùng và khởi động lại Docker. Bạn có thể tìm thấy các tùy chọn từ thanh công cụ. Đính kèm hình ảnh cho rõ ràng.

bước: Preferences ->nâng cao -> điều chỉnh các nguồn lực ->Áp dụng & Restart

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

docker advanced tab (memory)

+3

Điều này đã chuyển sang tab Nâng cao. Cảm ơn bạn đã chia sẻ điều này. – GabLeRoux

+0

Con người vừa rõ ràng vừa hoàn toàn không rõ ràng - cảm ơn bạn! – AlienWebguy

+0

Những thay đổi đó cũng có áp dụng nếu tôi sử dụng xuồng ba lá với hộp ảo không? Hoặc tôi chỉ nên sử dụng VBoxManage để điều chỉnh kích thước mem? – Artur79

3

câu trả lời khác cho thấy làm thế nào để thay đổi bộ nhớ sử dụng VBoxManage:

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

Để xác nhận thay đổi từ dòng lệnh:

VBoxManage showvminfo default | grep Memory 

HOẶC

docker-machine ssh default free 
+0

Xin chào cpep, bạn có thể [sửa] câu trả lời của bạn và [định dạng các khối mã] (https://meta.stackoverflow.com/questions/251361/how-do-i-format-my-code-blocks) đúng không? –

Các vấn đề liên quan