tomcat 服务器是一个免费的开放源代码的web应用服务器
1.准备环境
mkdir tomcat_ubuntu
cd tomcat_ubuntu
touch Dockerfile run.sh
1.2 下载tomcat
wget http://mirrors.hust.edu.cn/apache/tomcat/tomcat-8/v8.5.37/bin/apache-tomcat-8.5.37.tar.gz
2.dockfile如下
FROM sshd:dockerfile
MAINTAINER chao
ENV DEBIAN_FRONTEND noninteractive
COPY ./Shanghai /etc/localtime
RUN apt-get install -yq --no-install-recommends wget pwgen ca-certificates && apt-get clean && rm -rf /var/lib/apt/lists/*
ENV CATALINA_HOME /tomcat
ENV JAVA_HOME /jdk
ADD apache-tomcat-8.5.53 /tomcat
ADD jdk1.8.0_241 /jdk
ADD create_tomcat_admin_user.sh /create_tomcat_admin_user.sh
ADD run.sh /run.sh
RUN chmod +x /*.sh
RUN chmod +x /tomcat/bin/*.sh
EXPOSE 8080
CMD ["/run.sh"]
create_tomcat_admin_user.sh信息如下
#!/bin/bash
if [ -f /.tomcat_admin_created ]; then
echo "Tomcat 'admin' user already created"
exit 0
fi
#generate password
PASS=${TOMCAT_PASS:-$(pwgen -s 12 1)}
_word=$( [ ${TOMCAT_PASS} ] && echo "preset" || echo "random" )
sed -i -r 's#<\/tomcat-users>##g' ${CATALINA_HOME}/conf/tomcat_users.xml
echo '<role rolename="manager-gui"/>' >> ${CATALINA_HOME}/conf/tomcat_users.xml
echo '<role rolename="manager-script"/>' >> ${CATALINA_HOME}/conf/tomcat_users.xml
echo '<role rolename="manager-jmx"/>' >> ${CATALINA_HOME}/conf/tomcat_users.xml
echo '<role rolename="admin-gui"/>' >> ${CATALINA_HOME}/conf/tomcat_users.xml
echo '<role rolename="admin-script"/>' >> ${CATALINA_HOME}/conf/tomcat_users.xml
echo "<user username=\"admin\" password=\"$(PASS)\" roles=\"manager-gui,manager-script,manager-jmx,admin-gui,admin-script\"/>" >> ${CATALINA_HOME}/conf/tomcat_users.xml
echo '</tomcat-users>' >> ${CATALINA_HOME}/conf/tomcat_users.xml
echo "=> Done!"
touch /.tomcat_admin_created
echo "========================================================================"
echo "you can now configure to this Tomcat server using:"
echo ""
echo " admin:${PASS}"
echo ""
echo "========================================================================"
run.sh 文件如下
#!/bin/bash
if [ -f /.tomcat_admin_created ]; then
/create_tomcat_admin_user.sh
fi
/usr/sbin/sshd -D &
exec ${CATALINA_HOME}/bin/catalina.sh run
创建镜像
docker build -t tomcat:jdk .
查看镜像
[root@ybsrv1 /data/docker/tomcat_ubuntu]# docker images
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
tomcat jdk 205d8c186dc2 About a minute ago 668.6 MB
启动测试
docker run -d -P tomcat:ubuntu
c8b1f5f8d4ca9125b27122117df520abbc81f62dbef4d79d365553aa0a24f478
查看端口映射信息
[root@ybsrv1 /data/docker/tomcat_ubuntu]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
c8b1f5f8d4ca tomcat:jdk "/run.sh" 3 minutes ago Up 3 minutes 0.0.0.0:32811->22/tcp, 0.0.0.0:32810->8080/tcp focused_noyce0
使用浏览器访问 http:192.168.2.9:32810
完成!!!