• 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  
        2、查看容器大小
            说明:Docker容器是基于镜像的读写层,它是可读可写的。读写某个文件的时候,是从镜像中将那个文件复制到容器的读写层,然后对复制的文件进行读写,而原文件依然在镜像中。而且,这个容器的读写层也是占用磁盘空间的。

            步骤1:先确认容器文件的默认路径
            默认情况下为/var/lib/docker/containers
            步骤2:进入容器目录
                cd  /var/lib/docker/containersdu -sh *
            步骤3:查看所有容器的大小
                du -sh *
            步骤3:查看某个容器的大小
                du -sh <容器id>

        2、查看有什么目录

        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
                    #添加环境变量
                    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放在本目录
            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)的制作

  • 相关阅读:
    [转载]SQL Server行列转换实现
    [转载]依赖注入那些事
    [转载]MVC、MVP以及Model2(下)
    [转载]MVC、MVP以及Model2(上)
    SQL Server中CROSS APPLY和OUTER APPLY应用
    Open XML操作Excel导入数据
    centos7 firewall-cmd 理解多区域配置中的 firewalld 防火墙
    centos7 firewall-cmd 用活firewalld防火墙中的zone
    个税起征点上调,你每月能省多少?最后还有点凉水
    2018年中国500强排行榜
  • 原文地址:https://www.cnblogs.com/programer-xinmu78/p/10561604.html
Copyright © 2020-2023  润新知