0
假设我有一堆装配好的war
s,其中每个大约为80-100 MB。我为Tomcat创建了基于Tomcat的图像:8-jre8官方图像,基本上这些图像中的每一个都只包含tomcat及其依赖项和我的war文件。在码头集装箱内改进java web应用程序部署过程
通常,当将这些应用程序中的一个应用程序部署到服务器(tomcat
)时,大概需要20-80秒,具体取决于部署应用程序的大小以及启动时必须初始化的事件数量。
在Docker容器中部署此类war
时,部署过程要长两倍,例如,通常在20秒内部署的应用程序在Docker容器内需要大约60秒。
我Dockerfile
s为一种基本
FROM tomcat:8.0-jre8
ENV spring.profiles.active=dev
ADD foo.war /usr/local/tomcat/webapps/
COPY bar.properties /root/
CMD ["catalina.sh", "run"]
我曾经尝试都运行的每个Web应用程序单独的Tomcat服务器和部署他们全部的单Tomcat服务器,但问题仍然存在。
有没有什么方法可以提高Docker容器内部网页应用的部署时间?
是的,我使用码头机。我不需要经常重新部署,我使用带有远程服务器的Jrebel,它为部署时间增加了几秒钟,但仍然提供了太多的方法。顺便说一句,我还没有听说Docker卷能够将类交换到部署的Web应用程序中。 –
它不是,你必须自己处理这个。有可能社区建立的机器可以做到这一点。对不起,但我无法帮助你处理那些特定于Java的问题 - 正如我所说,我很少使用Java –
,重新部署不是问题,即使部署Java Web应用程序在这里也不是问题,唯一的问题是部署码头集装箱内的大型应用程序。正如我之前提到的,从Eclipse内部的cmd /向tomcat部署相同的战争需要在容器内部署一半的部署时间。 –