Docker 镜像制作

docker官方和个人发布的镜像由于版本等各种原因,漏洞较多,已统计Docker Hub超过30%的官方镜像包含高危漏洞。此外,由于网络等原因也会造成docker pull下载镜像的速度很慢。基于这种情况,我们可以手动定制docker系统镜像。构建镜像的方式有两种:
  1.使用 docker commit命令
  2.使用 docker build和Dockerfile文件

docker commit:提交一个正在运行的容器为一个新的镜像

  制作步骤:制作一个tomcat镜像

    1.拉取一个基础镜像(其实就是OS)

      docker pull centos

    2.创建一个交互式容器

      docker run -it --name=mycentos centos /bin/bash

    3.软件上传:将宿主机Tomact、jdk上传到容器中

      docker cp apache‐tomcat mycentos:/root/
      docker cp jdk mycentos:/root/

    4.在容器中安装jdk和Tomcat

      tar -zxvf  jdk-8u11-linux-x64.tar.gz  -C /usr/local

      vi /etc/profile

        在末尾行添加

          #set java environment

          JAVA_HOME=/usr/local/jdk1.8.0_11

          CLASSPATH=.:$JAVA_HOME/lib.tools.jar

          PATH=$JAVA_HOME/bin:$PATH

          export JAVA_HOME CLASSPATH PATH

      source /etc/profile 立即生效配置

      tar -zxvf apache-tomcat-8.5.51.tar.gz -C /usr/local/

      vi ./bin/setclsspath.sh

        export JAVA_HOME=/usr/local/jdk1.8.0_11
        export JRE_HOME=/usr/local/jdk1.8.0_11/jre

    5.将正在运行的容器提交为一个新的镜像

      docker commit mycentos mytomcat

  使用制作的镜像创建容器:

    docker run -itd --name=t1 -p 8888:8080 mytomcat /bin/bash

    docker exec t1 usr/local/apache-tomcat-8.5.51/bin/startup.sh

  容器/镜像打包:

    镜像打包: 

      1、镜像打包:
        docker save -o /root/tomcat8.5.tar mytomcat
      2、将打包的镜像上传到其他服务器
        scp tomcat8.5.tar 其他服务器ip:/root
      3、导入镜像
        docker load ‐i /root/tomcat8.5.tar
    容器打包:
      1、容器打包
        docker export ‐o /root/t1.tar t1
      2、导入容器
        docker import t1.tar mytomcat

原文地址:https://www.cnblogs.com/roadlandscape/p/12605514.html