Jestem nowy w Docker i próbuję przejść przez ten samouczek konfigurowania MemSQL z obrazu Dockera - http://docs.memsql.com/4.0/setup/docker/ . Jestem na komputerze Mac i samouczek używa, boot2docker
który wydaje się być przestarzały.
Maszyna wirtualna potrzebuje do działania 4 GB pamięci. Samouczek określa, jak to zrobić, boot2docker
ale nie mogę znaleźć sposobu, aby to zrobić z przybornikiem docker-machine / docker.
Oto polecenie, którego używam, i błąd, który otrzymuję, próbując przejść przez samouczek bez zmiany konfiguracji boot2docker.
docker run --rm --net=host memsql/quickstart check-system
Error: MemSQL requires at least 4 GB of memory to run.
macos
docker
virtualbox
docker-machine
memsql
DJElbow
źródło
źródło
check-system
programie ( github.com/memsql/memsql-docker-quickstart/blob/master/… ) widzę te linie, które określałyby ten błąd.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")
.Możesz to zrobić za pomocą wiersza poleceń. Na przykład, aby zmienić domyślny przebieg maszyny 1cpu / 2048MB RAM:
Następnie możesz sprawdzić swoje ustawienia:
I dla
docker-machine inspect
zgłosić prawidłowy stan rzeczy, edytować~/.docker/machine/machines/default/config.json
, aby odzwierciedlić zmiany.źródło
docker-machine inspect
nie pokaże żadnych zmian. Jeśli jednak uruchomiszdocker stats
, zobaczysz, że zmiany zostały zastosowane.config.json
plik docker-machine , aby odzwierciedlał rzeczywisty rozmiar. Przykład: fordefault
, tak jak zostało to użyte w rozwiązaniu przykładowym, zmodyfikuj~/.docker/machine/machines/default/config.json
plik tak, abyMemory
(iCPU
jeśli została również zmodyfikowana) właściwość podrzędna w ramachDriver
została zmieniona na4096
. Następniedocker-machine inspect
pokaże odpowiednią wartość.W przypadku platformy Docker w wersji 1.12.1 (kompilacja: 12133) i nowszej w systemie macOS istnieje opcja zmiany procesora i pamięci RAM z poziomu interfejsu użytkownika i ponownego uruchomienia dockera. Możesz znaleźć preferencje na pasku narzędzi. Dołączanie obrazów dla większej przejrzystości.
Aktualizacja: sierpień 2020 r .: Preferencje -> Zasoby (dziękuję @ swedge218)
Stary krok (prawdopodobnie już niedziałający): Preferencje -> Zaawansowane -> dostosuj zasoby -> Zastosuj i uruchom ponownie
źródło
Tutaj znajduje się opiekun Docker Machine. Nie sądzę, żeby
config.json
ręczne ustawienie zadziałało.Dwie opcje to utworzenie maszyny za pomocą
--virtualbox-memory
zestawu lub dostosowanie pamięci maszyny wirtualnej w interfejsie GUI VirtualBox („Ustawienia> System” dla tej maszyny wirtualnej, jak sądzę). Upewnij się, że urządzenie jest wyłączone i powinien być mały działający suwak.EDYCJA: Inna odpowiedź pokazuje, że operację w miejscu można wykonać z wiersza poleceń, również za pomocą
VBoxManage
.źródło
docker-machine inspect
będzie nadal zgłaszać pierwotną ilość pamięci, nawet po jej zmianie w interfejsie GUI VirtualBox.docker-machine inspect
zgłosić dokładną kwotę, to zrobić trzeba zmodyfikowaćconfig.json
(to gdzieinspect
dostaje jego informacji).Nie mogłem znaleźć innych odpowiedzi. Jedyną rzeczą, która zadziałała, było usunięcie domyślnej maszyny i ponowne utworzenie jej z większą ilością pamięci.
Ta poprawka została znaleziona tutaj: https://www.ibm.com/developerworks/community/blogs/jfp/entry/Using_Docker_Machine_On_Windows?lang=en
źródło
Inne odpowiedzi pokazały, jak zmienić pamięć za pomocą VBoxManage:
Aby potwierdzić zmianę z wiersza poleceń:
LUB
źródło
fox xhyve (kolejna wirtualizacja pod macos) możesz zmodyfikować ~ / .docker / machine / default / config.json właściwość Sterownik / pamięć (domyślnie 1024), a następnie zrestartuj maszynę docker, aby zastosować zmiany
źródło
~/.docker/machine/machines/default/config.json
. Dzięki 👍