zoukankan      html  css  js  c++  java
  • 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打包并推送到阿里云镜像服务器命令。

  • 相关阅读:
    js输出
    mysql主从同步(4)-Slave延迟状态监控
    mysql主从同步(3)-percona-toolkit工具(数据一致性监测、延迟监控)使用梳理
    【故障】MySQL主从同步故障-Slave_SQL_Running: No
    什么是bgp线路
    F5负载均衡虚拟服务器配置FTP端口访问不了
    Python 拷贝对象(深拷贝deepcopy与浅拷贝copy)
    东风本田/XR-V/2017款
    mysqldump导出数据库导入数据库
    .htaccess设置301跳转及常用技巧整理
  • 原文地址:https://www.cnblogs.com/huandada/p/9970707.html
Copyright © 2011-2022 走看看