zoukankan      html  css  js  c++  java
  • Docker镜像的构建方式

    一、Docker镜像的分层

    ·Dockerfile中的每个指令都会创建一个新的镜像层

    ·镜像层将被缓存和复用

    ·当Dockerfile的指令修改了,复制的文件变化了,或者构建镜像时指定的变量不同了,对应的镜像层缓存就会失效

    ·某一层的镜像缓存失效之后,它之后的镜像层缓存都会失效

    ·镜像层是不可变的,如果在某一层中添加一个文件,然后在下一层中删除它,则镜像中依然会包含该文件

    二、Docker镜像的创建

    1、Docker镜像

    ·应用发布的标准格式

    ·支撑一个Docker容器的运用

    2、Docker镜像的创建方法

    (1)、基于已有镜像创建

       将容器里面运行的程序及运行环境打包生成新的镜像

       docker commit 【选项】 容器ID/名称 仓库名称:【标签】

       ·-m 说明信息

      ·-a 作者信息

      ·-p 生成过程中停止容器的运行

    (2)、基于本地模板创建

    ·通过导入操作系统模板文件生成新的镜像

    ·使用wget命令导入为本地镜像

      wget

      http://download.openvz.org/template/precreated/debian-7.0-x86-minimal.tar.gz

    ·导入成功后可查看本地镜像信息

      docker images | grep new

    (3)、基于Dockerfile创建

    ·Dockerfile是由一组指令组成的文件

    ·Dockerfile结构四部分

       基础镜像信息

       维护者信息

       镜像操作指令

       容器启动时执行指令

    ·Dockerfile每行支持一条指令,每条指令可携带多个参数,支持使用以“#”号开头的注释

     

     

     

     

     Dockerfile操作指令

    三、私有仓库建立

     

    上传

    获取私有仓库列表

     

    删除centos镜像

     测试私有仓库下载

     

    四、Docker数据卷

    下载镜像

     宿主机目录/var/www挂载容器中的/datal

     

    数据卷容器

     

    端口映射

     

    容器互联

  • 相关阅读:
    ORA-04091错误原因与解决方法
    Vue中过滤器及自定义插件
    解决 React 中的 input 输入框在中文输入法下的 bug
    总结18个webpack插件
    使用Vue Composition API写出清晰、可扩展的表单
    实现微前端需要了解的 Vue Genesis 渲染器
    React 监听页面滚动,界面动态显示
    漫谈受控与非受控组件
    vue的完整版和运行时版的区别
    vue中利用provide和inject实现页面刷新(无白屏)重载组件
  • 原文地址:https://www.cnblogs.com/Xing88/p/14045575.html
Copyright © 2011-2022 走看看