• gitlab-ci + k8s 之docker (三)


    docker

    在本系列(一)中(https://www.cnblogs.com/huandada/p/9965771.html)的runner_tomcat.sh脚本有涉及到镜像的推送,本文主要记录整个镜像的制作。

    镜像版本

    由于应用需要图片的展示,故选用 tomcat:7.0.90-jre7-alpine 与 tomcat:8.0.53-jre8。
    tomcat:8.0.53-jre8:流量管家在内的三个项目,没有图片应用
    tomcat:7.0.90-jre7-alpine:其他项目

    镜像优化

    首先对镜像预先做优化,以下优化只针对于tomcat:7.0.90-jre7-alpine,此次优化所得的镜像普遍适用于多个项目

    时间同步

    docker与宿主机的时间同步:docker与宿主机的时区不一样,导致相差8小时。宿主机是CST,docker是UTC:
    将宿主机的/usr/share/zoneinfo/Asia/Shanghai文件放置于docker的/etc/localtime下。
    此时,date查看时间正确,但是查看日志的时间还是与date时间相差8h。
    java日志时间同步:
    在tomcat/bin/catalina.sh,添加
    JAVA_OPTS="$JAVA_OPTS -Dfile.encoding=UTF8 -Duser.timezone=GMT+08"

    tomcat启动时间优化

    linux或者部分unix系统提供随机数设备是/dev/random 和/dev/urandom ,
    两个有区别,urandom安全性没有random高,但random需要时间间隔生成随机数。jdk默认调用random。
    将jdk1.x.x_xx/jre/lib/security/java.security 以下参数改为securerandom.source=file:/dev/./urandom 减少启动时间。

    工作目录

    所定义的工作目录为一进容器就所在的目录,alpine需要定义,另一个版本官方已经定义好了

    定义环境变量与cmd

    cmd会在容器启动一个进程,此进程没了,容器消亡,alpine需要定义,另一个版本官方已经定义好了

    优化命令

    建build目录,将需要的与改好的文件放在/root/build/下

    mkdir /root/build/
    cp /usr/share/zoneinfo/Asia/Shanghai /root/build/
    

    创建Dockerfile

    vim /root/build/Dockerfile
    FROM  tomcat:7.0.90-jre7-alpine
    ADD Shanghai /etc/localtime
    RUN sed -i '/cygwin=false/iJAVA_OPTS=" -Dfile.encoding=UTF8  -Duser.timezone=GMT+08"'  /opt/apache-tomcat-7.0.69/bin/catalina.sh 
    &&  sed -i 's/securerandom.source=file:/dev/random/securerandom.source=file:/dev/./urandom/g'   /opt/jdk1.7.0_80/jre/lib/security/java.security
    WORKDIR /opt/apache-tomcat-7.0.69
    ENV PATH=/opt/apache-tomcat-7.0.69/bin:$PATH
    CMD ["catalina.sh", "run"]
    

    使用Dockerfile生成新镜像

    cd /root/build/ && docker build -t tomcat:7.0.90-jre7-alpine-v1 .
    

    应用镜像的生成

    主要是放置数据库连接文件context.xml与war包

    cd /test_project/test-backend/ && vim Dockerfile
    FROM tomcat:7.0.90-jre7-alpine-v1
    COPY test.war /opt/apache-tomcat-7.0.69/webapps/
    COPY context.xml /opt/apache-tomcat-7.0.69/conf/
    

    本系列(一)runner_tomcat.sh有根据此Dockerfile打包并推送到阿里云镜像服务器命令。

  • 相关阅读:
    shell的基本应用:vim 的基本操作
    Python 类 setattr、getattr、hasattr 的使用
    Python 安装过程和第一个Demo
    SQL SERVER 插件SQL Prompt
    SSIS etl远程部署时 无法获取服务器部署目录
    SQL SERVER SCOPE_IDENTITY函数的应用
    Oralce SQL Developer 时间格式修改
    centos 在线&&离线安装上传下载工具-lrzsz
    添加的Startup.cs启动类没有执行解决办法
    关于 X509Certificate2 程序发布IIS后找不到文件路径的问题
  • 原文地址:https://www.cnblogs.com/huandada/p/9970707.html
Copyright © 2020-2023  润新知