首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Docker映像构建,但不运行

Docker映像构建,但不运行
EN

Stack Overflow用户
提问于 2015-05-28 16:13:05
回答 2查看 3.1K关注 0票数 1

我正在尝试使用安装指令(InstallIndications这里)为libreplan创建一个停靠器构建。文件是

代码语言:javascript
复制
FROM tomcat:6

RUN apt-get -yq update && apt-get -yq install \
  cutycapt \
  patch \
  postgresql-client \
  libpg-java \
  xvfb

# Prepare webapp location
RUN mkdir -p /usr/local/tomcat/webapps/libreplan
# Get WAR file
RUN wget -q -O /usr/local/tomcat/webapps/libreplan/libreplan.war http://downloads.sourceforge.net/project/libreplan/LibrePlan/libreplan_1.3.0.war
# Install libreplan.xml
ADD libreplan.xml /usr/local/tomcat/webapps/libreplan/libreplan.xml
# Patch the policy to include libreplan
ADD catalina.policy.patch catalina.policy.patch
RUN patch -o /usr/local/tomcat/conf/catalina.policy /usr/local/tomcat/conf/catalina.policy catalina.policy.patch

CMD ["catalina.sh", "run"]

构建可以工作,但当我尝试运行它时,它什么也不做。所有的代码都在github上,我已经在码头注册上设置了一个自动构建。repo中包含了一个示例docker-compose.yml,它应该可以工作,但是当我尝试它时,没有从libreplan容器中显示输出,并且我无法通过浏览器访问它。我根本不认识猫,所以它可能是我做错了什么,但我不知道如何开始弄清楚什么。我错过了什么明显的事情吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-05-28 17:02:38

如果我运行你的形象:

代码语言:javascript
复制
$ docker run --name libreplan aquavitae/libreplan

我得到:

代码语言:javascript
复制
May 28, 2015 4:57:42 PM org.apache.catalina.core.AprLifecycleListener init
INFO: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: /usr/java/packages/lib/amd64:/usr/lib/x86_64-linux-gnu/jni:/lib/x86_64-linux-gnu:/usr/lib/x86_64-linux-gnu:/usr/lib/jni:/lib:/usr/lib
May 28, 2015 4:57:42 PM org.apache.coyote.http11.Http11Protocol init
INFO: Initializing Coyote HTTP/1.1 on http-8080
May 28, 2015 4:57:42 PM org.apache.catalina.startup.Catalina load
INFO: Initialization processed in 387 ms
May 28, 2015 4:57:42 PM org.apache.catalina.core.StandardService start
INFO: Starting service Catalina
May 28, 2015 4:57:42 PM org.apache.catalina.core.StandardEngine start
INFO: Starting Servlet Engine: Apache Tomcat/6.0.44
May 28, 2015 4:57:42 PM org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deploying web application directory host-manager
May 28, 2015 4:57:42 PM org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deploying web application directory manager
May 28, 2015 4:57:42 PM org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deploying web application directory examples
May 28, 2015 4:57:42 PM org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deploying web application directory libreplan
May 28, 2015 4:57:42 PM org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deploying web application directory ROOT
May 28, 2015 4:57:42 PM org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deploying web application directory docs
May 28, 2015 4:57:42 PM org.apache.coyote.http11.Http11Protocol start
INFO: Starting Coyote HTTP/1.1 on http-8080
May 28, 2015 4:57:42 PM org.apache.jk.common.ChannelSocket init
INFO: JK: ajp13 listening on /0.0.0.0:8009
May 28, 2015 4:57:42 PM org.apache.jk.server.JkMain start
INFO: Jk running ID=0 time=0/12  config=null
May 28, 2015 4:57:42 PM org.apache.catalina.startup.Catalina start
INFO: Server startup in 580 ms

这似乎完全成功了。此外,我还可以获取容器的ip地址:

代码语言:javascript
复制
$ docker inspect --format '{{ .NetworkSettings.IPAddress }}' libreplan
172.17.0.9

在浏览器中打开:

代码语言:javascript
复制
$ firefox http://172.17.0.9:8080

并查看默认的Tomcat网页。

所以大多数情况下,这似乎是可行的。

我也可以在没有错误的情况下docker up build: .,尽管我用image: aquavitae/libreplan替换了build: .行,因为我没有足够的耐心尝试构建。

票数 0
EN

Stack Overflow用户

发布于 2015-05-28 17:01:39

在这种情况下,您必须通过在容器中运行shell并手动启动流程来排除故障。如果幸运的话,docker logs containername可能有足够的信息让您了解出了什么问题,但通常情况下,我不得不进入容器,如下所示:

代码语言:javascript
复制
docker run --interactive --tty --link db:db <containerid> bash

一旦进入,你会想要直接运行你的CMD。

代码语言:javascript
复制
catalina.sh run

查看您的文件,我的第一个想法是catalina.sh不在您的路径中,也不是可执行的。因此,您可以通过运行/bin/sh /full/path/to/catalina.sh run或调整PATH环境变量和/或使用Dockerfile中的WORKDIR指令来修复这个问题。

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

https://stackoverflow.com/questions/30511918

复制
相关文章

相似问题

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