首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何加快码头集装箱的启动时间?

如何加快码头集装箱的启动时间?
EN

Stack Overflow用户
提问于 2017-05-17 00:21:25
回答 1查看 1.7K关注 0票数 1

我是新的容器应用程序使用码头。我可以部署一个容器,包括一个war文件。war基本上是一个JAVA应用程序/servlet,它在接收到最终用户的请求时返回一个视频文件。使用docker部署应用程序是成功的,而且应用程序运行良好。但是,我对它的启动时间有一些问题。

从我通过点击命令docker run -it -d -p 8080:8080 surrogate创建容器的那一刻起,容器就需要5-6分钟的时间才能开始工作,这意味着容器生命周期的前5-6分钟没有响应最终用户的请求,然后它就可以正常工作了。有什么办法可以加快启动时间吗?

Dockerfile包括:

代码语言:javascript
复制
FROM tomcat:7.0.72-jre7
ADD surrogate-V1.war /usr/local/tomcat/webapps/
CMD ["catalina.sh", "run"]
WORKDIR "/usr/local/tomcat/"
RUN wget https://www.dropbox.com/s/1r8awydc05ra8wh/a.mp4?dl=1
RUN cp a.mp4\?dl\=1 lego.mp4 
EN

回答 1

Stack Overflow用户

发布于 2017-05-23 19:41:56

(代表“任择议定书”张贴)。

首先,在"docker“命令中去掉-d,查看后台发生了什么。我注意到战争部署阶段花了这么长时间(大约15-20分钟!)

在我的例子中,原因是Dockerfile中的tomcat版本与我将web应用程序导出为WAR的环境中的Tomcat版本不同。(如何检查JRE版本:在终端输入:JAVA -version中,检查Tomcat版本: from eclipse,在导出时,它将显示版本)。

就我在Dockerfile的情况而言,我有:

代码语言:javascript
复制
FROM tomcat:7.0.72-jre7

我把它改成:

代码语言:javascript
复制
FROM tomcat:6.0-jre7

现在只需不到10秒!

简而言之,确保Dockerfile中的Tomcat版本和JRE版本与您作为WAR导出Java应用程序的环境相同。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44013586

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档