mirror of
https://gitee.com/kennylee/docker.git
synced 2024-11-29 10:29:07 +08:00
新增tomcat8-jdk8镜像
This commit is contained in:
parent
ee00e46bce
commit
01f5fb1374
5
finebi/README.md
Normal file
5
finebi/README.md
Normal file
@ -0,0 +1,5 @@
|
||||
# FineBI
|
||||
|
||||
https://www.finebi.com/
|
||||
|
||||
FineBI是新一代自助式BI工具...略
|
2
finebi/app/.gitignore
vendored
Normal file
2
finebi/app/.gitignore
vendored
Normal file
@ -0,0 +1,2 @@
|
||||
*
|
||||
!.gitignore
|
36
tomcat/tomcat8-jdk8/Dockerfile
Executable file
36
tomcat/tomcat8-jdk8/Dockerfile
Executable file
@ -0,0 +1,36 @@
|
||||
FROM registry.cn-hangzhou.aliyuncs.com/kennylee/java:openjdk-8-jdk
|
||||
|
||||
MAINTAINER kennylee <kennylee26@gmail.com>
|
||||
|
||||
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 '8'
|
||||
ENV CATALINA_HOME /opt/tomcat
|
||||
ENV JAVA_OPTS="-Djava.security.egd=file:///dev/urandom -server -Xms128m -Xmx1024m"
|
||||
|
||||
# INSTALL TOMCAT
|
||||
RUN curl -sSL http://git.oschina.net/kennylee/shell/raw/master/tomcat_download.sh | bash -s ${TOMCAT_MAJOR_VERSION} && \
|
||||
tar zxf apache-tomcat-*.tar.gz && \
|
||||
rm apache-tomcat-*.tar.gz && \
|
||||
mv apache-tomcat* ${CATALINA_HOME}
|
||||
|
||||
# Add service
|
||||
COPY tomcat /etc/init.d/
|
||||
RUN chmod +x /etc/init.d/tomcat
|
||||
|
||||
# Remove garbage
|
||||
RUN rm -rf ${CATALINA_HOME}/webapps/examples && \
|
||||
rm -rf ${CATALINA_HOME}/webapps/docs && \
|
||||
rm -rf ${CATALINA_HOME}/webapps/ROOT
|
||||
|
||||
WORKDIR ${CATALINA_HOME}
|
||||
|
||||
COPY run.sh /run.sh
|
||||
RUN chmod +x /*.sh
|
||||
|
||||
EXPOSE 8080
|
||||
|
||||
CMD ["/run.sh"]
|
4
tomcat/tomcat8-jdk8/app/webapps/.gitignore
vendored
Normal file
4
tomcat/tomcat8-jdk8/app/webapps/.gitignore
vendored
Normal file
@ -0,0 +1,4 @@
|
||||
# Ignore everything in this directory
|
||||
*
|
||||
# Except this file
|
||||
!.gitignore
|
168
tomcat/tomcat8-jdk8/config/server.xml
Normal file
168
tomcat/tomcat8-jdk8/config/server.xml
Normal file
@ -0,0 +1,168 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
contributor license agreements. See the NOTICE file distributed with
|
||||
this work for additional information regarding copyright ownership.
|
||||
The ASF licenses this file to You under the Apache License, Version 2.0
|
||||
(the "License"); you may not use this file except in compliance with
|
||||
the License. You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
<!-- Note: A "Server" is not itself a "Container", so you may not
|
||||
define subcomponents such as "Valves" at this level.
|
||||
Documentation at /docs/config/server.html
|
||||
-->
|
||||
<Server port="8005" shutdown="SHUTDOWN">
|
||||
<Listener className="org.apache.catalina.startup.VersionLoggerListener" />
|
||||
<!-- Security listener. Documentation at /docs/config/listeners.html
|
||||
<Listener className="org.apache.catalina.security.SecurityListener" />
|
||||
-->
|
||||
<!--APR library loader. Documentation at /docs/apr.html -->
|
||||
<Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" />
|
||||
<!-- Prevent memory leaks due to use of particular java/javax APIs-->
|
||||
<Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener" />
|
||||
<Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" />
|
||||
<Listener className="org.apache.catalina.core.ThreadLocalLeakPreventionListener" />
|
||||
|
||||
<!-- Global JNDI resources
|
||||
Documentation at /docs/jndi-resources-howto.html
|
||||
-->
|
||||
<GlobalNamingResources>
|
||||
<!-- Editable user database that can also be used by
|
||||
UserDatabaseRealm to authenticate users
|
||||
-->
|
||||
<Resource name="UserDatabase" auth="Container"
|
||||
type="org.apache.catalina.UserDatabase"
|
||||
description="User database that can be updated and saved"
|
||||
factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
|
||||
pathname="conf/tomcat-users.xml" />
|
||||
</GlobalNamingResources>
|
||||
|
||||
<!-- A "Service" is a collection of one or more "Connectors" that share
|
||||
a single "Container" Note: A "Service" is not itself a "Container",
|
||||
so you may not define subcomponents such as "Valves" at this level.
|
||||
Documentation at /docs/config/service.html
|
||||
-->
|
||||
<Service name="Catalina">
|
||||
|
||||
<!--The connectors can use a shared executor, you can define one or more named thread pools-->
|
||||
<!--
|
||||
<Executor name="tomcatThreadPool" namePrefix="catalina-exec-"
|
||||
maxThreads="150" minSpareThreads="4"/>
|
||||
-->
|
||||
|
||||
|
||||
<!-- A "Connector" represents an endpoint by which requests are received
|
||||
and responses are returned. Documentation at :
|
||||
Java HTTP Connector: /docs/config/http.html
|
||||
Java AJP Connector: /docs/config/ajp.html
|
||||
APR (HTTP/AJP) Connector: /docs/apr.html
|
||||
Define a non-SSL/TLS HTTP/1.1 Connector on port 8080
|
||||
-->
|
||||
<Connector port="8080" protocol="HTTP/1.1"
|
||||
connectionTimeout="20000"
|
||||
redirectPort="8443" />
|
||||
<!-- A "Connector" using the shared thread pool-->
|
||||
<!--
|
||||
<Connector executor="tomcatThreadPool"
|
||||
port="8080" protocol="HTTP/1.1"
|
||||
connectionTimeout="20000"
|
||||
redirectPort="8443" />
|
||||
-->
|
||||
<!-- Define a SSL/TLS HTTP/1.1 Connector on port 8443
|
||||
This connector uses the NIO implementation. The default
|
||||
SSLImplementation will depend on the presence of the APR/native
|
||||
library and the useOpenSSL attribute of the
|
||||
AprLifecycleListener.
|
||||
Either JSSE or OpenSSL style configuration may be used regardless of
|
||||
the SSLImplementation selected. JSSE style configuration is used below.
|
||||
-->
|
||||
<!--
|
||||
<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"
|
||||
maxThreads="150" SSLEnabled="true">
|
||||
<SSLHostConfig>
|
||||
<Certificate certificateKeystoreFile="conf/localhost-rsa.jks"
|
||||
type="RSA" />
|
||||
</SSLHostConfig>
|
||||
</Connector>
|
||||
-->
|
||||
<!-- Define a SSL/TLS HTTP/1.1 Connector on port 8443 with HTTP/2
|
||||
This connector uses the APR/native implementation which always uses
|
||||
OpenSSL for TLS.
|
||||
Either JSSE or OpenSSL style configuration may be used. OpenSSL style
|
||||
configuration is used below.
|
||||
-->
|
||||
<!--
|
||||
<Connector port="8443" protocol="org.apache.coyote.http11.Http11AprProtocol"
|
||||
maxThreads="150" SSLEnabled="true" >
|
||||
<UpgradeProtocol className="org.apache.coyote.http2.Http2Protocol" />
|
||||
<SSLHostConfig>
|
||||
<Certificate certificateKeyFile="conf/localhost-rsa-key.pem"
|
||||
certificateFile="conf/localhost-rsa-cert.pem"
|
||||
certificateChainFile="conf/localhost-rsa-chain.pem"
|
||||
type="RSA" />
|
||||
</SSLHostConfig>
|
||||
</Connector>
|
||||
-->
|
||||
|
||||
<!-- Define an AJP 1.3 Connector on port 8009 -->
|
||||
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
|
||||
|
||||
|
||||
<!-- An Engine represents the entry point (within Catalina) that processes
|
||||
every request. The Engine implementation for Tomcat stand alone
|
||||
analyzes the HTTP headers included with the request, and passes them
|
||||
on to the appropriate Host (virtual host).
|
||||
Documentation at /docs/config/engine.html -->
|
||||
|
||||
<!-- You should set jvmRoute to support load-balancing via AJP ie :
|
||||
<Engine name="Catalina" defaultHost="localhost" jvmRoute="jvm1">
|
||||
-->
|
||||
<Engine name="Catalina" defaultHost="localhost">
|
||||
|
||||
<!--For clustering, please take a look at documentation at:
|
||||
/docs/cluster-howto.html (simple how to)
|
||||
/docs/config/cluster.html (reference documentation) -->
|
||||
<!--
|
||||
<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>
|
||||
-->
|
||||
|
||||
<!-- Use the LockOutRealm to prevent attempts to guess user passwords
|
||||
via a brute-force attack -->
|
||||
<Realm className="org.apache.catalina.realm.LockOutRealm">
|
||||
<!-- This Realm uses the UserDatabase configured in the global JNDI
|
||||
resources under the key "UserDatabase". Any edits
|
||||
that are performed against this UserDatabase are immediately
|
||||
available for use by the Realm. -->
|
||||
<Realm className="org.apache.catalina.realm.UserDatabaseRealm"
|
||||
resourceName="UserDatabase"/>
|
||||
</Realm>
|
||||
|
||||
<Host name="localhost" appBase="webapps"
|
||||
unpackWARs="true" autoDeploy="true">
|
||||
|
||||
<!-- SingleSignOn valve, share authentication between web applications
|
||||
Documentation at: /docs/config/valve.html -->
|
||||
<!--
|
||||
<Valve className="org.apache.catalina.authenticator.SingleSignOn" />
|
||||
-->
|
||||
|
||||
<!-- Access log processes all example.
|
||||
Documentation at: /docs/config/valve.html
|
||||
Note: The pattern used is equivalent to using pattern="common" -->
|
||||
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
|
||||
prefix="localhost_access_log" suffix=".txt"
|
||||
pattern="%h %l %u %t "%r" %s %b" />
|
||||
|
||||
</Host>
|
||||
</Engine>
|
||||
</Service>
|
||||
</Server>
|
||||
|
19
tomcat/tomcat8-jdk8/docker-compose.yml
Normal file
19
tomcat/tomcat8-jdk8/docker-compose.yml
Normal file
@ -0,0 +1,19 @@
|
||||
version: '2'
|
||||
services:
|
||||
app:
|
||||
image: registry.cn-hangzhou.aliyuncs.com/kennylee/tomcat:tomcat8-jdk8
|
||||
ports:
|
||||
- "8080:8080"
|
||||
volumes:
|
||||
- ./app/webapps/:/opt/tomcat/webapps/:z
|
||||
#- ./config/server.xml:/opt/tomcat/conf/server.xml:ro
|
||||
- ./data/logs/:/opt/tomcat/logs/:z
|
||||
environment:
|
||||
- JAVA_OPTS=-server -Xms128m -Xmx1g -Djava.security.egd=file:/dev/./urandom
|
||||
restart: on-failure
|
||||
logging:
|
||||
driver: 'json-file'
|
||||
options:
|
||||
max-size: '12m'
|
||||
max-file: '5'
|
||||
|
4
tomcat/tomcat8-jdk8/run.sh
Normal file
4
tomcat/tomcat8-jdk8/run.sh
Normal file
@ -0,0 +1,4 @@
|
||||
#!/bin/bash
|
||||
|
||||
exec ${CATALINA_HOME}/bin/catalina.sh run
|
||||
|
71
tomcat/tomcat8-jdk8/tomcat
Executable file
71
tomcat/tomcat8-jdk8/tomcat
Executable file
@ -0,0 +1,71 @@
|
||||
#!/bin/sh
|
||||
# Tomcat auto-start @/etc/init.d/tomcat
|
||||
#
|
||||
# description: Auto-starts tomcat
|
||||
# processname: tomcat
|
||||
# pidfile: /var/run/tomcat.pid
|
||||
|
||||
PATH=/bin:/usr/bin:/sbin:/usr/sbin
|
||||
NAME=tomcat
|
||||
DESC="Tomcat servlet engine"
|
||||
|
||||
# 由于/etc/init.d/ 中的脚本无法获取到bash设置好的环境变量。最简单解决方法是写死在这。
|
||||
export JAVA_HOME="/opt/jdk"
|
||||
export CATALINA_HOME="/opt/tomcat"
|
||||
export JAVA_OPTS="-Djava.security.egd=file:///dev/urandom -server -Xms128m -Xmx1024m"
|
||||
|
||||
if [ ! -f $CATALINA_HOME/bin/catalina.sh ]; then
|
||||
echo "$NAME not valilable..."
|
||||
exit
|
||||
fi
|
||||
|
||||
tomcat_process_count(){
|
||||
ps ax --width=1000 | grep "[o]rg.apache.catalina.startup.Bootstrap start" | awk '{printf $1 " "}' | wc | awk '{print $2}' > /tmp/tomcat_process_count.txt
|
||||
read line < /tmp/tomcat_process_count.txt
|
||||
}
|
||||
|
||||
case $1 in
|
||||
start)
|
||||
tomcat_process_count
|
||||
if [ $line -gt 0 ]; then
|
||||
echo "$DESC is already running"
|
||||
else
|
||||
echo "Starting $DESC"
|
||||
sh $CATALINA_HOME/bin/startup.sh
|
||||
fi
|
||||
;;
|
||||
stop)
|
||||
tomcat_process_count
|
||||
if [ $line -gt 0 ]; then
|
||||
echo "Stopping $DESC"
|
||||
sh $CATALINA_HOME/bin/shutdown.sh
|
||||
else
|
||||
echo "$DESC is not running "
|
||||
fi
|
||||
;;
|
||||
status)
|
||||
tomcat_process_count
|
||||
if [ $line -gt 0 ]; then
|
||||
echo -n "$NAME ( pid "
|
||||
ps ax --width=1000 | grep "org.apache.catalina.startup.Bootstrap start" | awk '{printf $1 " "}'
|
||||
echo -n ") is running..."
|
||||
echo
|
||||
else
|
||||
echo "$NAME is stopped"
|
||||
fi
|
||||
;;
|
||||
restart)
|
||||
tomcat_process_count
|
||||
if [ $line -gt 0 ]; then
|
||||
$0 stop
|
||||
sleep 1
|
||||
fi
|
||||
$0 start
|
||||
;;
|
||||
*)
|
||||
echo "Usage: $0 {start|stop|restart|status}"
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
exit 0
|
Loading…
Reference in New Issue
Block a user