tomcat8_java1.8 基础镜像
需要解决的越来越多, 基础镜像中 添加 cronolog功能,用于切割catalina.out 日志。
思路是: cephfs 挂载在node节点, crontab 删除 几天的tomcaat 日志。 也想把crontab放在基础镜像中,出现服务无法启动
镜像 1G,太大了。
FROM centos MAINTAINER fengjian <fengjian@senyint.com>
ENV TZ "Asia/Shanghai"
ENV TERM xterm
ENV MALLOC_ARENA_MAX=1 ENV JAVA_HOME /data/jdk
ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
ENV CATALINA_HOME /data/tomcat
ENV CATALINA_BASE /data/tomcat
ENV PATH $PATH:$JAVA_HOME/bin:$CATALINA_HOME/lib:$CATALINA_HOME/bin RUN rm /etc/yum.repos.d/* -rf
ADD Centos-7.repo /etc/yum.repos.d/
ADD epel.repo /etc/yum.repos.d/
RUN yum clean all
RUN yum -y install fontconfig ttmkfdir unzip net-tools bind-utils sysstat kde-l10n-Chinese telnet reinstall glibc-common gcc automake autoconf libtool make gcc-c++ RUN localedef -c -f UTF-8 -i zh_CN zh_CN.utf8
ENV LC_ALL "zh_CN.UTF-8" ADD cronolog-1.6.2.tar.gz /root/
RUN cd /root/cronolog-1.6.2 && \
./configure && \
make && \
make install && \
rm -rf /root/cronolog-1.6.2 && \
mkdir /usr/share/fonts/chinese -p ADD SIMHEI.TTF /usr/share/fonts/chinese
ADD SIMSUN.TTC /usr/share/fonts/chinese RUN chmod -R 755 /usr/share/fonts/chinese && \
ttmkfdir -e /usr/share/X11/fonts/encodings/encodings.dir
ADD fonts.conf /etc/fonts/fonts.conf ADD localtime /etc/
ADD jdk.tar.gz /data
ADD tomcat.tar.gz /data
ADD profile /etc
ADD 20-nproc.conf /etc/security/limits.d/
ADD limits.conf /etc/security/
RUN mkdir -p /data/webserver && \
mkdir -p /data/logs #EXPOSE 80
#ENTRYPOINT ["/data/tomcat/bin/startup.sh"]
#ENTRYPOINT ["/data/tomcat/bin/catalina.sh","run"]
[root@harbor tomcat8_jdk1.8_noport_20180827]# cat profile
# /etc/profile # System wide environment and startup programs, for login setup
# Functions and aliases go in /etc/bashrc # It's NOT a good idea to change this file unless you know what you
# are doing. It's much better to create a custom.sh shell script in
# /etc/profile.d/ to make custom changes to your environment, as this
# will prevent the need for merging in future updates. pathmunge () {
case ":${PATH}:" in
*:"$1":*)
;;
*)
if [ "$2" = "after" ] ; then
PATH=$PATH:$
else
PATH=$:$PATH
fi
esac
} if [ -x /usr/bin/id ]; then
if [ -z "$EUID" ]; then
# ksh workaround
EUID=`id -u`
UID=`id -ru`
fi
USER="`id -un`"
LOGNAME=$USER
MAIL="/var/spool/mail/$USER"
fi # Path manipulation
if [ "$EUID" = "" ]; then
pathmunge /sbin
pathmunge /usr/sbin
pathmunge /usr/local/sbin
else
pathmunge /usr/local/sbin after
pathmunge /usr/sbin after
pathmunge /sbin after
fi HOSTNAME=`/bin/hostname >/dev/null`
HISTSIZE=
if [ "$HISTCONTROL" = "ignorespace" ] ; then
export HISTCONTROL=ignoreboth
else
export HISTCONTROL=ignoredups
fi export JAVA_HOME=/data/jdk
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$JAVA_HOME:$PATH
export MALLOC_ARENA_MAX= export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE HISTCONTROL MALLOC_ARENA_MAX # By default, we want umask to get set. This sets it for login shell
# Current threshold for system reserved uid/gids is
# You could check uidgid reservation validity in
# /usr/share/doc/setup-*/uidgid file
if [ $UID -gt ] && [ "`id -gn`" = "`id -un`" ]; then
umask
else
umask
fi for i in /etc/profile.d/*.sh ; do
if [ -r "$i" ]; then
if [ "${-#*i}" != "$-" ]; then
. "$i"
else
. "$i" >/dev/null 2>&1
fi
fi
done unset i
unset -f pathmunge ulimit -u unlimited
ulimit -s unlimited
ulimit -i 514855
ulimit -SH 655350
ulimit -n 1024000
tomcat8_java1.8 基础镜像的更多相关文章
- 尝试自己建立以alpine 为基础的docker基础镜像和组件镜像
安装ubuntu14.04 然后 #获取root权限 sudo su #安装docker apt-get install docker #准备基础镜像 docker pull alpine docke ...
- 从零开始构建docker基础镜像
段子 今年基本已经结束了,我问了很多朋友今年挣钱了没?大多朋友都有挣,而且挣得五花八门:有挣个屁的,有挣个锤子的,有挣个毛的,更有甚者挣个妹的,奢侈之极!最恐怖的是挣个鬼的!有的还可以,挣个球,下午我 ...
- Docker 安装入门 --基础镜像
安装Docker1.Docker命令安装 yum install docker //安装docker包 service docker start //设置服务启动 chkconfig docker ...
- 中标麒麟龙芯平台--docker基础镜像制作
Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从Apache2.0协议开源.Docker 的出现为开发人员和运维人员带来了极大的便利.Docker在X86下常见的发行版Linux如Ub ...
- Hadoop基础-镜像文件(fsimage)和编辑日志(edits)
Hadoop基础-镜像文件(fsimage)和编辑日志(edits) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.查看日志镜像文件(如:fsimage_00000000000 ...
- Docker制作基础镜像
Docker镜像制作 方式一:手动运行一个容器,做好所有配置,然后把容器提交成一个镜像 方式二:使用DockerFile 示例1:做一个yum安装的nginx镜像 - 运行并进入一个centos容器: ...
- docker 系列 - 基础镜像环境和Docker常用命令整理
=======================docker 基础镜像环境 alpine=======================可以使用 docker search 命令搜索指定的 image, ...
- 包含jdk和nginx的基础镜像
目的 制作一个基础镜像,包含jdk和nginx,这样要将java项目或一些前端页面做成容器,可以稍作修改引用该镜像. Dockerfile FROM alpine:3.8 ENV \ LANG=C.U ...
- 使用Dockerfile文件制作centos6.8基础镜像,基于centos基础镜像的ssh远程登录镜像,jdk1.8镜像,tomcat镜像,elasticsearch镜像等等
一.首先制作一个centos6.8的裸机镜像 创建一个干净的目录: [root@docker centos6.]# ls c68-docker.tar.xz Dockerfile Dockerfile ...
随机推荐
- 牛刀小试MySQL--日志文件
牛刀小试MySQL--日志文件 MySQL Server的日志文件一共有五种类型的日志.(Innodb redo log除外,它属于Innodb存储引擎实现的日不在此篇讨论) The Error Lo ...
- 网络编程socket之一
从今年10月22号开始我的python学习之路,一个月下来,磕磕碰碰,勉勉强强把基础部分算是学完了,一个月走过来,我过着别人看似单调,重复的生活,确实是,每天,每周都是一样的生活模式,早上7点40起床 ...
- ASP.NET Identity 三(转载)
转载来源:http://www.cnblogs.com/r01cn/p/5194257.html 注:本文是[ASP.NET Identity系列教程]的第三篇.本系列教程详细.完整.深入地介绍了微软 ...
- scala中的isInstanceOf和asInstanceOf
如果实例化了子类的对象,但是将其赋予了父类类型的变量, 在后续的过程中,又需要将父类类型的变量转换为子类类型的变量,应该如何做? Ø 首先,需要使用isInstanceOf 判断对象是否为指定类的对 ...
- Spark练习代码
1.scalaWordCount package com._51doit.spark.day1 import org.apache.spark.rdd.RDDimport org.apache.spa ...
- [PHP] 算法-数组重复数字统计的PHP实现
在一个长度为n的数组里的所有数字都在0到n-1的范围内. 数组中某些数字是重复的,但不知道有几个数字是重复的.也不知道每个数字重复几次.请找出数组中任意一个重复的数字. 例如,如果输入长度为7的数组{ ...
- 【IDEA&&Eclipse】3、IntelliJ IDEA 的 20 个代码自动完成的特性
在这篇文章中,我想向您展示 IntelliJ IDEA 中最棒的 20 个代码自动完成的特性,可让 Java 编码变得更加高效.对任何集成开发环境来说,代码的自动完成都是最最重要的一项功能,它根据你输 ...
- Gauss-Laguerre quadrature rule
% matlab script to derive the 2-point Gauss-Laguerre quadrature rule % and use it on an example % in ...
- Script error.深度测试
Script error.全面解析中我们介绍了Script error.的由来.这篇博客,我们将各种情况(不同浏览器.本地远程托管JS文件)考虑进去,进行一个深度的测试,为读者带来一个全面的了解. G ...
- Web设计中打开新页面或页面跳转的方法
一.asp.net c# 打开新页面或页面跳转 1. 最常用的页面跳转(原窗口被替代):Response.Redirect("newpage.aspx"); 2. 利用url地址打 ...