Tomcat没有在docker映像上运行

我使用Dockerfile通过以下命令在映像上安装了tomcat7:

MAINTAINER Abc Xyz <abc@xyz.com> RUN apt-get -qq update RUN apt-get -y install openjdk-7-jre RUN apt-get -y install tomcat7 EXPOSE 8080 

当我构build图像并尝试运行以下命令时:

 sudo docker run -d -P abcxyz/tomcat service tomcat7 start 

我不能看到它映射到的端口上的tomcat页面(比如49153)…而当我在图像中运行时,我尝试:

 service tomcat7 start 

然后它也无法启动tomcat7服务器。 我认为问题是图像无法启动tomcat7服务器。 而且我听说Docker镜像不能运行任何暴发户服务,虽然我不确定。

任何人有任何想法如何解决它? 谢谢。

这是行不通的,因为只要你指定的程序正在运行,容器就会工作。 service tomcat7 start命令立即结束。

只需添加:

 --privileged=true 

docker run命令的参数。 Tomcat需要扩展权限才能运行。

更多信息: https : //docs.docker.com/reference/run/#runtime-privilege-linux-capabilities-and-lxc-configuration

将命令更改为

 <path/to/tomcat>/bin/cataline.sh run 

这将使tomcat在forground中运行

你应该像这样运行它:

 docker run -dP abcxyz/tomcat catalina.sh run 

只要命令正在执行,这将使容器运行。 你运行它的方式是把服务作为后台进程。