使用docker自带的tomcat时区会有问题。一直都解决不了。最后自己创建tomcat镜像就对了。
创建文件Dockerfile
#pull down centos image
FROM centos
MAINTAINER This is a email
#copy jdk and tomcat into image
ADD ./apache-tomcat-7.0.70.tar.gz /root
ADD ./jdk-8u131-linux-x64.gz /root
#set environment variable
ENV JAVA_HOME /root/jdk1.8.0_131
ENV PATH $JAVA_HOME/bin:$PATH
# timezone
ENV TZ Asia/Shanghai
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
#安装中文支持
RUN yum -y install kde-l10n-Chinese && yum -y reinstall glibc-common
RUN localedef -c -f UTF-8 -i zh_CN zh_CN.utf8
ENV LC_ALL zh_CN.utf8
# del webapps
RUN rm -fR /root/apache-tomcat-7.0.70/webapps/*
#define entry point which will be run first when the container starts up
ENTRYPOINT /root/apache-tomcat-7.0.70/bin/startup.sh && tail -F /root/apache-tomcat-7.0.70/logs/catalina.out
运行:
#生成docker镜像。my/tomact是镜像名称。7.0.70是版本号。/usr/local/src是dockerfile目录地址。 --rm删除中间过程
docker build -t my/tomact:7.0.70 /usr/local/src/ --rm=true
# 最后一个参数是容器的id. 使用名称不能正常运行(docker images可查看)。开放本地80端口,映射到docker的8080。-d是后台运行。--privileged=true访问本地权限
docker run --name=tomcat -d=true --privileged=true -v /root/.jenkins/workspace/tomcat/target/tomcat-web-1.0:/root/apache-tomcat-7.0.70/webapps/ROOT -p 8081:8080 c8401299800f