假设我有一堆组装好的war,每个大约有80-100MB。我基于Tomcat:8-jre8官方镜像为所有这些镜像创建了镜像,基本上每个镜像都只包含tomcat及其依赖项和我的war文件。
通常,当将其中一个应用程序部署到服务器(tomcat)上时,它需要大约20-80秒,这取决于部署的应用程序的大小和在启动时必须初始化的东西的数量。
当在docker容器中部署这样的war时,部署过程要长几倍,例如,通常在20秒内部署的应用程序在docker容器中需要大约60秒。
我的Dockerfile是很基本的
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服务器上,但问题仍然存在。
有什么方法可以改善web应用在docker容器中的部署时间吗?
发布于 2016-03-05 06:09:34
你在使用docker-machine吗?如果是这样的话,将文件发送到docker引擎需要一些时间,因此您对此几乎无能为力。出于开发目的,您可以创建另一个使用卷在主机和容器之间同步文件的Dockerfile,这样您就不需要在每次决定部署时都进行重新构建。
https://stackoverflow.com/questions/35806874
复制相似问题