• 制作一个centos+jdk8+tomcatd9镜像


    docker解析:

        1、登录docker

                docker ecex –it 容器名/容器id /bin/bash

            例如:

                docker exec –it tomcat /bin/bash

            1)、使用docker attach进入Docker容器,存在多个窗口同步和拥塞问题

                sudo docker attach 44fc0f0582d9

            2)、使用SSH进入Docker容器(不建议)

            3)、使用nsenter进入Docker容器

            4)、docker inspect 查看容器信息

                sudo docker inspect tomcat

            5)、使用docker exec进入Docker容器

                sudo docker exec --help

                sudo docker exec -it tomcat /bin/bash

                sudo docker exec -it mytomcat /bin/bash

        2、查看容器大小

            说明:Docker容器是基于镜像的读写层,它是可读可写的。读写某个文件的时候,是从镜像中将那个文件复制到容器的读写层,然后对复制的文件进行读写,而原文件依然在镜像中。而且,这个容器的读写层也是占用磁盘空间的。

     

            步骤1:先确认容器文件的默认路径

            默认情况下为/var/lib/docker/containers

            步骤2:进入容器目录

                cd /var/lib/docker/containersdu -sh *

            步骤3:查看所有容器的大小

                du -sh *

            步骤3:查看某个容器的大小

                du -sh <容器id>

     

        2、查看有什么目录

            一般在根目录查看docker 的目录或者比较特殊的一个目录,本次用例就是/z/docker有的是docker-java-home

     

        3、测试打包一个docker

            centos为原版增加jdk和tomcat

            1)拉取一个centos

                docker pull centos

            2)准备jdk8和tomcat

                创建工作目录, mkdir -p /z/docker

                准备root下已经上传了jdk和tomcat

                cp本机的jdk到/z/docker目录下

                tar -zxvf apache-tomcat-9.0.8.tar.gz -C /z/docker

                tar -zxvf jdk-8u91-linux-x64.tar.gz -C /z/docker

                解压到目录/z/docker下, 并重命名为jdk

                并重命名为jdk

                mv jdk1.8.0_91 jdk

                mv apache-tomcat-9.0.8 tomcat

            3)删掉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

            4)进入/z/docker目录, 在当前目录下创建Dockerfile文件

                cd /z/docker

                vim Dockerfile

                    #插入以下内容

                    #使用的基础镜像

                    FROM centos

                    #作者信息

                    MAINTAINER luhq7 "cztx29@126.com"

                    #创建目录

                    RUN mkdir -p /z/java/jdk

                    #把当前目录下的jdk文件夹添加到镜像

                    ADD jdk /z/java/jdk

                    #创建tomcat目录

                    RUN mkdir -p /z/java/tomcat

                    #把当前目录下的tomcat文件夹添加到镜像

                    ADD tomcat /z/java/tomcat

                    #设置工作目录,这个命令是用来切换工作目录的,相当于cd命令

                    WORKDIR /z/java/tomcat

                    #添加环境变量

                    ENV JAVA_HOME /z/java/jdk

                    ENV CATALINA_HOME /z/java/tomcat

                    ENV PATH $PATH:$JAVA_HOME/bin:$CATALINA_HOME/bin

                    #暴露8080端口

                    EXPOSE 8080

                    #启动时运行tomcat

                    CMD ["/z/java/tomcat/bin/catalina.sh","run"]

            5)、开始制作

                docker build -t repos_local/centos-jdk-tomcat:0.0.1 .

                最后的 . 表示Dockerfile放在本目录

                如果是/home/表示Dockerfile在根目录下的home目录下

            6)、docker ps和docker images查看一下镜像

            7)、运行一个容器

                docker run -d --hostname mytomcat --name mytomcat -p 16002:8080 repos_local/centos-jdk-tomcat:0.0.1

                报错:需要重新启动docker进程

            8)、重启docker

                sudo systemctl restart docker

            9)、打开防火墙对应端口

                 vim /etc/sysconfig/iptables

                     增加一行,端口为15672的限制取消

                 防火墙重新生效

                 service iptables restart

                 查看那些端口可用:

                     netstat -lntp

                 docker start mytomcat

    OK至此完成docker(centos + tomcat +jdk)的制作

     

    , 可以直接使用官方的tomcat镜像 , 把自己的网站目录映射到容器内部

    mkdir /webapps

    docker run -d --hostname webtomcat --name webtomcat -p 16003:8080 -v /webapps/:/z/java/tomcat/webapps/ repos_local/centos-jdk-tomcat:0.0.1

     

     

    下一次制作一个centos +jar包的镜像

    再一次制作一个centos +War包的镜像

     

     

     

  • 相关阅读:
    Windows Server安装Oracle11g R2过程记录
    SQLServer 角色说明-服务器级别角色数据库级别角色
    【windows】【应用】必备软件安装
    程序员修炼之道系列 | 无情的测试
    程序员修炼之道系列 | 版本控制
    程序员修炼之道系列 | 死掉的程序不会说谎
    程序员修炼之道系列 | 可逆性
    TS中 使用deprecated 实现对方法的迭代弃用
    shell脚本(16)-awk命令
    shell脚本(15)-sed命令
  • 原文地址:https://www.cnblogs.com/programer-xinmu78/p/10435803.html
Copyright © 2020-2023  润新知