Как увеличить память докера-машины Mac

Я новичок в Docker и пытаюсь пройти этот урок по настройке MemSQL из образа Docker - http://docs.memsql.com/4.0/setup/docker/. Я нахожусь на Mac, и учебник использует boot2docker который, кажется, устарел.

Виртуальной машине требуется 4 ГБ памяти для работы. Учебник определяет, как это сделать с boot2docker но я не могу найти способ сделать это с помощью панели инструментов docker-machine/docker.

Вот команда, которую я использую, и ошибка, которую я получаю, просто пытаясь пройти учебник без изменения конфигурации boot2docker.

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

8 ответов

Решение

Когда вы создаете докер, вы можете назначить размер памяти:

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

Позвольте мне знать, если это помогает.

Вы можете сделать это через командную строку. Например, чтобы сменить машину с установленной по умолчанию оперативной памяти на 1 процессор /2048 МБ:

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

Для Docker версии 1.12.1 (сборка: 12133) и выше в macOS есть возможность изменить ЦП и ОЗУ из пользовательского интерфейса и перезапустить Docker. Вы можете найти настройки на панели инструментов. Прикрепление изображений для наглядности.

Шаги: Настройки -> Дополнительно -> настроить ресурсы -> Применить и перезагрузить

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

дополнительная вкладка докера (память

Сопровождающий Docker Machine здесь. Я не думаю, что корректировка config.json вручную будет работать.

Вы можете создать машину с --virtualbox-memory установить или настроить память виртуальной машины в графическом интерфейсе VirtualBox ("Настройки> Система" для этой виртуальной машины, я думаю). Убедитесь, что машина выключена и должен быть маленький слайдер, который работает.

РЕДАКТИРОВАТЬ: Другой ответ показывает, что вы можете выполнить операцию на месте из командной строки, используя VBoxManage,

Другие ответы показали, как изменить память с помощью VBoxManage:

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

Чтобы подтвердить изменение из командной строки:

VBoxManage showvminfo default | grep Memory

ИЛИ ЖЕ

docker-machine ssh default free

Я не мог получить другие ответы на работу. Единственное, что сработало для меня, - это удалить машину по умолчанию и воссоздать ее с большим объемом памяти.

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/community/blogs/jfp/entry/Using_Docker_Machine_On_Windows?lang=en

fox xhyve (еще одна виртуализация под macos) вы можете изменить свойство ~/.docker/machine/default/config.json Driver/Memory (по умолчанию 1024), а затем перезапустить докер для применения изменений

ЯБЛОЧНЫЙ КРЕМНИЙ

Я искал решение для Apple Silicon, и, насколько я понимаю, docker-machineбыл объявлен устаревшим ( ссылка ), поэтому я использовал colima (ссылка ).

В соответствии с документацией colima можно определить количество процессоров и доступную оперативную память, например:

      colima start --cpu 1 --memory 2 --disk 10

и изменить существующую виртуальную машину:

      colima stop
colima start --cpu 4 --memory 8
Другие вопросы по тегам