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