由於提出這個問題,Docker看起來已經足夠新,無法在網上解答這個問題。我發現的唯一地方是this article,其中作者說這很難,就是這樣。如何在Docker容器中設置Java堆大小(Xms/Xmx)?
16
A
回答
24
我同意這取決於您使用的容器。如果您使用的是官方Tomcat image,它看起來像它足夠簡單,你需要將JAVA_OPTS
環境變量傳遞您的堆設置:
docker run --rm -e JAVA_OPTS='-Xmx1g' tomcat
4
這一切都取決於您的Java應用程序如何打包以及它如何使用Docker展示配置文件。
例如,official tomcat image指出,配置文件可以在默認位置:在/ usr /本地/ tomcat的/ conf目錄/
所以很容易覆蓋整個目錄或只是一個配置文件:
docker run -it --rm -p 8080:8080 -v $PWD/catalina.properties:/usr/local/tomcat/conf/catalina.properties tomcat:8.0
3
你也可以將這些設置在您的圖像,像下面這樣,在您的Dockerfile存在:
ENV JAVA_OPTS="-XX:PermSize=1024m -XX:MaxPermSize=512m"
+0
我很確定設置JAVA_OPTS環境變量只能在官方的Tomcat映像中運行。如果你已經創建了自己的Tomcat映像,它可能不起作用(例如,通過使用Ubuntu基礎並將Tomcat作爲構建的一部分來安裝) –
9
注意,在一個docker-compose.yml
文件 - 你需要離開了雙引號:
environment:
- JVM_OPTS=-Xmx12g -Xms12g -XX:MaxPermSize=1024m
或
environment:
- CATALINA_OPTS=-Xmx12g -Xms12g -XX:MaxPermSize=1024m
相關問題
- 1. 如何爲Docker容器中的wildfly設置堆大小?
- 2. 如何設置分鐘/最大堆大小equinox osgi容器
- 3. 如何在Docker容器中設置PS1
- 4. 在Apache Karaf上設置Java堆大小
- 5. java堆設置中的最大堆大小的限制
- 6. 如何在Docker for Windows中設置Docker容器時間
- 7. 在多集中設置容器大小
- 8. 如何爲Java(xmx)設置默認最大堆大小,Linux(centos)
- 9. 如何爲EMR Master設置堆大小
- 10. 如何將IFRAME的大小設置爲容器的大小?
- 11. 在動態內存大小的機器上設置java堆大小
- 12. 在Tomcat中設置堆大小
- 13. 在Windows中設置默認堆大小
- 14. 在Centos上增加Docker容器大小
- 15. 如何在Docker容器中設置執行器IP?
- 16. 爲rmiregistry設置堆大小
- 17. 如何手動設置Java環境的堆大小?
- 18. 如何在Grails BuildConfig中設置JVM堆棧大小
- 19. 如何在TThread中設置堆棧大小?
- 20. 如何在shell腳本中設置jvm堆大小
- 21. 如何在jetty6.1.24中設置jvm堆大小
- 22. 如何在Azure容器服務中設置AutoScaling Docker主機
- 23. 如何在Windows中爲Docker容器設置靜態IP地址?
- 24. 如何在Dockerfile中設置Docker容器的bash別名?
- 25. 如何增加docker容器中的/ dev/shm的大小
- 26. 如何設置NSScrollView的內容大小?
- 27. 如何設置UIPopoverController的內容大小?
- 28. 如何將RectangleGeometry設置爲WPF中的容器大小?
- 29. 無法設置Java堆大小大於1568
- 30. 以編程方式設置最大java堆大小
是啊,那最好不過了! –