W miarę jak czyta się tytuł, próbuję przypisać więcej pamięci do mojego kontenera. Używam obrazu z centrum Docker o nazwie „aallam / tomcat-mysql”, jeśli jest to istotne.
Kiedy uruchamiam go normalnie bez żadnych specjalnych flag, jest limit pamięci 2 GB (mimo że czytam, że pamięć jest nieograniczona, jeśli nie jest ustawiona)
Oto moje statystyki dokerów
CONTAINER CPU % MEM USAGE / LIMIT MEM % NET I/O BLOCK I/O PIDS
ba57d6c9e9d2 0.22% 145.6 MiB / 1.952 GiB 7.29% 508 B / 508 B 0 B / 6.91 MB 68
Próbowałem ustawić pamięć w ten sposób, ale z tymi samymi rezultatami
docker run -d --memory=10g --memory-swap=-1 -e MYSQL_PASSWORD=password -p 3307:3306 -p 8081:8080 aallam/tomcat-mysql
Czytałem, że być może maszyna wirtualna jest tym, co ją ogranicza. Ale w takim razie dlaczego statystyki dockera pokazują, że limit rozmiaru kontenera wynosi 2 GB?
źródło
Przydziel maksymalną pamięć do maszyny docker z (preferencje dockera -> zaawansowane)
Zrzut ekranu ustawień zaawansowanych:
Spowoduje to ustawienie maksymalnego limitu wykorzystania platformy docker podczas uruchamiania kontenerów. Teraz uruchom obraz w nowym pojemniku z flagą -m = 4g na 4 gigabajty pamięci RAM lub więcej. na przykład
Pamiętaj, aby zastosować zmiany zwiększania limitu pamięci RAM. Zrestartuj docker i dwukrotnie sprawdź, czy limit pamięci RAM wzrósł. Może to być jeden z powodów, dla których nie widać wzrostu limitu pamięci RAM w kontenerach docker.
źródło
Jeśli chcesz zmienić domyślny kontener i korzystasz z Virtualbox, możesz to zrobić za pomocą wiersza poleceń / CLI:
źródło