Tomcat没有在docker镜像上运行

问题描述 投票:3回答:5

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

MAINTAINER Abc Xyz <[email protected]>
RUN apt-get -qq update
RUN apt-get -y install openjdk-7-jre
RUN apt-get -y install tomcat7 
EXPOSE 8080

当我构建映像并尝试运行以下命令时:

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

我没有看到它映射到的端口上的tomcat页面(例如49153)...当我在图像中作为bash运行时,我尝试:

service tomcat7 start

然后它也无法启动tomcat7服务器。我认为问题是图像无法启动tomcat7服务器。虽然我不确定,但我听说docker图像无法运行任何新手服务。

任何人都知道如何解决它?谢谢。

tomcat7 docker ubuntu-10.04
5个回答
3
投票

它不起作用,因为只要您指定的程序正在运行,容器就会工作。 service tomcat7 start命令立即结束。


6
投票

只需添加:

--privileged=true

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

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


5
投票

将命令更改为

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

这将使tomcat在前台运行


1
投票

你应该像这样运行它:

docker run -dP abcxyz/tomcat catalina.sh run

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


0
投票

使用docker run with -d switch在分离模式下运行。所以它将在后台运行。例如:docker run -d abcd /path/catalina.sh run

© www.soinside.com 2019 - 2024. All rights reserved.