zoukankan      html  css  js  c++  java
  • docker制作tomcat镜像

    准备cestos镜像、tomcat、jdk

    cestos是docker pull下来的

    在/opt/下创建docker:mkdir -p /opt/docker

    把tomcat和jdk解压到docker目录下,分别命名为tomcat和jdk

    删除jdk文件夹下多余文件, 降低build的镜像大小

    rm -rf /z/docker/jdk/*src.zip 
    /z/docker/jdk/lib/missioncontrol 
    /z/docker/jdk/lib/visualvm 
    /z/docker/jdk/lib/*javafx* 
    /z/docker/jdk/jre/lib/plugin.jar 
    /z/docker/jdk/jre/lib/ext/jfxrt.jar 
    /z/docker/jdk/jre/bin/javaws 
    /z/docker/jdk/jre/lib/javaws.jar 
    /z/docker/jdk/jre/lib/desktop 
    /z/docker/jdk/jre/plugin 
    /z/docker/jdk/jre/lib/deploy* 
    /z/docker/jdk/jre/lib/*javafx* 
    /z/docker/jdk/jre/lib/*jfx* 
    /z/docker/jdk/jre/lib/amd64/libdecora_sse.so 
    /z/docker/jdk/jre/lib/amd64/libprism_*.so 
    /z/docker/jdk/jre/lib/amd64/libfxplugins.so 
    /z/docker/jdk/jre/lib/amd64/libglass.so 
    /z/docker/jdk/jre/lib/amd64/libgstreamer-lite.so 
    /z/docker/jdk/jre/lib/amd64/libjavafx*.so 
    /z/docker/jdk/jre/lib/amd64/libjfx*.so

    创建Dockerfile文件

    #使用docker cestOs镜像
    FROM docker.io/centos
    
    #作者信息
    MAINTAINER guuyoog <gy>
    LABEL Description="This image is used to serve tomcat 8 whit jdk8"  Version="1.0"
    
    #在镜像中创建目录
    #把jdk和tomcat添加到里面
    RUN mkdir -p /opt/jdk1.8.0_181
    ADD jdk /opt/jdk1.8.0_181
    
    RUN mkdir -p /opt/tomcat-8.5.32
    ADD tomcat /opt/tomcat-8.5.32
    
    #添加环境变量
    ENV JAVA_HOME /opt/jdk1.8.0_181
    ENV CATALINA_HOME /opt/tomcat-8.5.32
    ENV PATH $PATH:$JAVA_HOME/bin:$CATALINA_HOME/bin
    
    ENV JAVA_OPTS "$JAVA_OPTS -server -XX:+UseParallelOldGC -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/opt/tomcat-8.5.32/dump/dump.hprof -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -Xloggc:/opt/tomcat-8.5.32/dump/heap_trace.txt -Duser.timezone=GMT+08"
    #工作区域
    WORKDIR /opt/tomcat-8.5.32
    
    #暴露端口
    EXPOSE 8080
    
    #启动时运行tomcat
    CMD ["catalina.sh", "run"]

     开始构建docker镜像文件

    docker build -t guuyoog/centos-jdk8-tomcat8:1.0 .
    -t 设置tag名称, 命名规则registry/image:tag
    . 表示使用当前目录下的Dockerfile文件

     如果没有问题的话docker images能查看到新建的镜像

     导出镜像 docker save -o jdk8-tomcat8.tar  <镜像ID>

    导入镜像 docker load < jdk8-tomcat8.tar

    docker images时可能会看不到REPOSITORY 和 tag,则用docker tag 639d56a4231a taomeng/jdk8-tomcat8:1.0赋值

    创建容器

    sudo docker run -it --name tomcat 
    --net=host  
    -p 8080:8080 
    -m 1024m  #设置容器使用内存最大值;
    --restart=always  #重启机制
    --privileged=true  #使用该参数,container内的root拥有真正的root权限
    -v /opt/tomcat/setenv.sh:/opt/tomcat-8.5.32/bin/setenv.sh 
    -v /opt/tomcat/tomcat-users.xml:/opt/tomcat-8.5.32/conf/tomcat-users.xml 
    -v /opt/tomcat/server.xml:/opt/tomcat-8.5.32/conf/server.xml 
    -v /opt/tomcat/logs:/opt/tomcat-8.5.32/logs 
    -v /opt/tomcat/output:/opt/tomcat-8.5.32/output 
    -v /opt/tomcat/webapps:/opt/tomcat-8.5.32/webapps 
    -v /opt/tomcat/dump:/opt/tomcat-8.5.32/dump 
    -d taomeng/jdk8-tomcat8:1.0

     docker update -m 2048m --memory-swap 2048m 修改容器内存

  • 相关阅读:
    数据库的三级封锁协议
    TCP的三次握手与四次释放
    数据库事务四大特性
    从购买服务器到建站,从0打造自己的网络领地。
    经典网络还是VPC,开发者作何选择?
    【黑客解析】黑客是如何实现数据库勒索的?
    基于OGG的Oracle与Hadoop集群准实时同步介绍
    hadoop伪分布式搭建
    在云服务器上体验Docker
    Nginx简单入门教学,包学包会,让你不再依赖伪大神!
  • 原文地址:https://www.cnblogs.com/guuyoog/p/9876931.html
Copyright © 2011-2022 走看看