W odpowiedzi na to pytanie Docker wygląda na wystarczająco nowy, aby nie mieć odpowiedzi na to pytanie w Internecie. Jedyne miejsce, które znalazłem to this article, w którym autor mówi, że jest trudne i to wszystko.Jak ustawić wielkość sterty Java (Xms/Xmx) w kontenerze Docker?
Odpowiedz
Zgadzam się, że zależy to od tego, z jakiego kontenera korzystasz. Jeśli używasz oficjalnego Tomcat image, wygląda na to, że to dość proste, trzeba będzie przekazać zmienną JAVA_OPTS
środowiskową z ustawieniami sterty:
docker run --rm -e JAVA_OPTS='-Xmx1g' tomcat
Zobacz How to set JVM parameters?
Wszystko zależy od tego, w jaki sposób pakowana jest Twoja aplikacja Java i w jaki sposób pliki konfiguracyjne są wyświetlane za pomocą Docker.
Na przykład official tomcat image stwierdza, że plik konfiguracyjny jest dostępny w domyślnej lokalizacji:/usr/local/tomcat/conf/
Tak łatwo zastąpić cały katalog lub tylko jeden plik konfiguracyjny:
docker run -it --rm -p 8080:8080 -v $PWD/catalina.properties:/usr/local/tomcat/conf/catalina.properties tomcat:8.0
Można też po prostu umieścić te ustawienia w obraz tak coś jak poniżej istniałby w Dockerfile:
ENV JAVA_OPTS="-XX:PermSize=1024m -XX:MaxPermSize=512m"
Jestem prawie pewien, że ustawienie zmiennej środowiskowej JAVA_OPTS będzie działać tylko na oficjalnym obrazie Tomcat. Może nie działać, jeśli stworzyłeś własny obraz Tomcat (np. Używając bazy Ubuntu i instalując Tomcat jako część kompilacji) –
Zauważ, że w pliku docker-compose.yml
- musisz opuścić podwójnie cytaty:
environment:
- JVM_OPTS=-Xmx12g -Xms12g -XX:MaxPermSize=1024m
lub
environment:
- CATALINA_OPTS=-Xmx12g -Xms12g -XX:MaxPermSize=1024m
- 1. trwale zwiększyć wielkość sterty java?
- 2. Jak zmniejszyć wielkość sterty serwera WebSphere Server?
- 3. Dlaczego ludzie tworzą virtualenv w kontenerze Docker?
- 4. Jenkins w kontenerze Docker (uruchom proces dokowania)
- 5. Uruchamianie jako użytkownik hosta w kontenerze Docker
- 6. Jak rejestrować wszystkie procesy działające w kontenerze Docker?
- 7. Jak połączyć się z MongoDB działającym w kontenerze Docker?
- 8. Jak ustawić zmienną środowiskową w uruchomionym kontenerze dokowania?
- 9. Zwiększ wielkość sterty JVM dla Scala?
- 10. Chcesz potwierdzić wielkość sterty, której używa tomcat
- 11. Jak dołączyć VisualVM do prostego procesu Java działającego w kontenerze Docker?
- 12. Jak ustawić naprawdę duży rozmiar sterty JVM?
- 13. Jak ustawić ustawienia regionalne w pojemniku Docker systemu Ubuntu?
- 14. jak trwale zwiększyć pamięć sterty java?
- 15. Jak ustawić nazwę hosta w komponencie Docker?
- 16. elasticsearch java wielkość wsadu zbiorczego
- 17. Jak zwiększyć rozmiar sterty java w netbeans?
- 18. Kiedy powinienem użyć `--interactive` bez` --tty` w kontenerze Docker?
- 19. Trwałe aktualizowanie zmiennej środowiskowej PATH w kontenerze Docker
- 20. Czy powinienem używać na zawsze/pm2 w kontenerze (Docker)?
- 21. Minimalna konfiguracja dla odwrotnego proxy Apache w kontenerze Docker
- 22. Jak zwiększyć wielkość sterty pamięci na IntelliJ IDEA?
- 23. Nie można wykonać dex: Przestrzeń sterty Java Przestrzeń sterty Java
- 24. java przestrzeń sterty
- 25. Jak ustawić operator% like% na wielkość liter?
- 26. Wdrażanie aplikacji webowej Java do Tomcat 8 działającej w kontenerze Docker
- 27. Błąd: przestrzeń sterty Java
- 28. Uruchom aplikację webową maven w kontenerze dokowania
- 29. Jak mogę użyć matplotlib.pyplot w kontenerze dokowania?
- 30. Jak ustawić adres MAC kontenerów Docker LXC?
Tak, to lepiej! –