zoukankan      html  css  js  c++  java
  • (八)DockerFile案例

    一、DockerFile案例-自定义镜像mycentos

      1、Base镜像(scratch)

        Docker Hub 中99%的镜像都是通过在base镜像中安装和配置需要的软件构建出来

      2、自定义镜像mycentos

        a、编写

          ①、基础docker

         

          ②、编写Dockerfile文件,内容如下:

           

          ③、myCentos内容DockerFile

        b、构建

          命令:docker build -t 新镜像名字:TAG.

          注意:最后面有一个点

          代码示例:

           

        c、运行

          命令:docker run -it 新镜像名字:TAG

        d、列出镜像的变更历史

          命令:docker history 镜像名

      3、CMD/ENTRYPOINT镜像案例

          ①、CMD

              DockerFile 中可以有多个CMD指令,但只有最后一个生效,CMD会被docker run之后的参数替换

               tomcat的讲解演示:

          docker run -it -p 8888:8080 tomcat ls -l

          相当于在DockerFile的最后面加了一句 CMD ls -l,就覆盖了DockerFile原来的CMD ["catalina.sh","run"]

         ②、ENTRYPOINT

             docker run 之后的参数会被当做参数传递给ENTRYPOINT,之后形成新的命令组

           Case:制作CMD版可以查询IP信息的容器

            a、curl命令详解:

              

            b、问题:

              如果我们希望显示HTTP头信息,就需要加上-i参数

            c、WHY:但是我们直接在run命令后面加 -i ,系统会报错

              

            d、制作ENTROYPOINT版查询ip信息的容器

              

               命令使用示例:

                                     

             ③、ONBUILD命令

              在父镜像的DockerFile文件中加上ONBUILD命令,当有子镜像继承这个父镜像的时候,该语句就会被触发。

                   父镜像DockerFile文件内容:

                   

              在子镜像继承这个父镜像后,build子镜像DockerFile文件的效果如下:父镜像中的ONBUILD被触发

                  

       4、自定义镜像Tomcat9

          步骤如下:

             ①、 mkdir -p /zzyyuse/mydockerfile/tomcat9

          ②、 在上述目录下touch c.txt

          ③、 将jdk和tomcat安装的压缩包拷贝进上一步目录

              apache-tomcat-9.0.8.tar.gz

              jdk-8u171-linux-x64.tar.gz

          ④、在/zzyyuse/mydockerfile/tomcat9 目录下新建Dockerfile文件

            DockerFile文件内容如下:

            

          ⑤、 构建

            

          ⑥、run

            

          ⑦、验证

            访问启动的tomcat链接

          ⑧、结合前述的容器卷将测试的web服务test发布

            a、总体概述

              

            b、web.xml

              

            c、a.jsp

              

            d、测试

              

     二、DockerFile 总结

  • 相关阅读:
    海量的数据的处理
    leetcode(135)分发糖果
    leetcode(130)被围绕的区域
    排序算法
    leetcode(956)最高的广告牌
    kafka的配置
    kafka命令行
    leetcode(76)最小覆盖子串
    Vue开发全解
    idea eclipse 设置代理
  • 原文地址:https://www.cnblogs.com/jichuang/p/14091524.html
Copyright © 2011-2022 走看看