Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/353.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Tomcat映像不';提供tomcat-users.xml时,不要在Docker上启动_Java_Tomcat_Docker - Fatal编程技术网

Java Tomcat映像不';提供tomcat-users.xml时,不要在Docker上启动

Java Tomcat映像不';提供tomcat-users.xml时,不要在Docker上启动,java,tomcat,docker,Java,Tomcat,Docker,我对Docker和CI都是新手。当我需要设置服务器时,我也很糟糕 我想要的只是一个运行Tomcat的Docker映像,并能够使用Ttravis的Tomcat部署插件(在成功后部分)重新部署我的新应用程序版本 我正在修改此存储库的7.0 Tomcat版本: 如果我不做任何更改,服务器可以启动,但我无法访问管理器,也无法部署代码 我希望在主机中有一个名为conf/的目录,该目录将复制到tomcat/conf目录 为了连接到manager/部署我的代码,我需要添加tomcat/conf/tomcat

我对Docker和CI都是新手。当我需要设置服务器时,我也很糟糕

我想要的只是一个运行Tomcat的Docker映像,并能够使用Ttravis的Tomcat部署插件(在成功后部分)重新部署我的新应用程序版本

我正在修改此存储库的7.0 Tomcat版本:

如果我不做任何更改,服务器可以启动,但我无法访问管理器,也无法部署代码

我希望在主机中有一个名为
conf/
的目录,该目录将复制到
tomcat/conf目录

为了连接到manager/部署我的代码,我需要添加
tomcat/conf/tomcat users.xml
tomcat/conf/settings.xml文件

我通过这个Dockerfile实现了这一点:

FROM tifayuki/java:7
MAINTAINER Feng Honglin <hfeng@tutum.co>
RUN apt-get update && \
apt-get install -yq --no-install-recommends wget pwgen ca-certificates && \
apt-get clean && \
rm -rf /var/lib/apt/lists/*
ENV TOMCAT_MAJOR_VERSION 7
ENV TOMCAT_MINOR_VERSION 7.0.55
ENV CATALINA_HOME /tomcat
# INSTALL TOMCAT
RUN wget -q https://archive.apache.org/dist/tomcat/tomcat-${TOMCAT_MAJOR_VERSION}/v${TOMCAT_MINOR_VERSION}/bin/apache-tomcat-${TOMCAT_MINOR_VERSION}.tar.gz && \
wget -qO- https://archive.apache.org/dist/tomcat/tomcat-${TOMCAT_MAJOR_VERSION}/v${TOMCAT_MINOR_VERSION}/bin/apache-tomcat-${TOMCAT_MINOR_VERSION}.tar.gz.md5 | md5sum -c - && \
tar zxf apache-tomcat-*.tar.gz && \
rm apache-tomcat-*.tar.gz && \
mv apache-tomcat* tomcat
ADD create_tomcat_admin_user.sh /create_tomcat_admin_user.sh
ADD run.sh /run.sh
ADD conf/ /tomcat/conf/       # THIS LINES ADD MY TOMCAT-USER FILE
RUN chmod +x /*.sh
EXPOSE 8080
您可以在那里看到我的所有文件:

git存储库只包含docker conf所需的文件,因此非常小

关于我的日志文件:

  • docker日志不返回任何内容
  • /etc/var/logs没有
  • 包含任何tomcat目录tomcat/logs为空
使用时

ADD/COPY pathtofile /tomcat/pathtofile

检查主机文件的访问权限。如果不够,请执行以下操作:

sudo chmod 777 /host/pathtofile

你能把tomcat的日志放到gists吗?也许它包含了一些有用的信息嗨,我怎样才能做到呢?docker logs返回Nothing希望您没有在任何地方使用该密码…啊哈,没有xD,它是由一个sh文件自动生成的。只需使用它的原始值来测试tomcat是否接受部署(如果部署已启动)
ADD/COPY pathtofile /tomcat/pathtofile
run -v /host/pathtofile:/container/pathtofile
sudo chmod 777 /host/pathtofile