88300牛魔王四肖

docker commit和docker file的区别

发布日期:2019-07-04 17:10   来源:未知   阅读:

  这两种方式都是通过改进已有的镜像来达到自己的目的。制作基础镜像,会在另外一篇文章“从零开始制作基础镜像”中介绍。

  docker commit 是往版本控制系统里提交一次变更。使用这种方式制作镜像,本质上是运行一个基础镜像,然后在基础镜像上进行软件安装和修改。最后再将改动提交到版本系统中。

  基础镜像的选择要结合自己的需求。可以选择已有的应用镜像来改造,也可以选择Ubuntu,Debian,OpenSuse这类基础系统镜像

  可以指定远程镜像仓库,如docker hub。也可自建仓库来存放image

  而创建的过程本质上是运行一个镜像,然后在镜像中按序执行在Dockerfile中的命令,直到执行结束。

  如果中间有命令执行失败,镜像创建会停止。这时就需要看log,并修改Dockerfile,然后再次执行docker build

  难度相对容易,适合新手和对Linux不熟悉的用户相对难,要求有一定的linux和脚本基础知识

  Dockerfile本身就是比较好的文档,可读和可理解性比较强。也可配合其他文档带来详细说明

  后续升级和维护麻烦,需要再次运行镜像并对内部软件进行升级或者安装新软件增加特性

  后续升级和维护会相对简单,可以直接在dockerfile中更改并增加新特性

  使用EXPOSE后,一些自动化布署工具可以直接读取这个信息,自动进行端口映射

  Container 启动时执行的命令,一个Dockerfile 中只能有一条CMD命令,如果有多条则只执行最后一条CMD

  VOLUME指令用来设置一个挂载点,可以用来让其他容器挂载以实现数据共享或对容器数据的备份、恢复或迁移

Power by DedeCms