docker怎么打包commit和Dockerfile


本篇内容主要讲解“docker怎么打包commit和Dockerfile”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“docker怎么打包commit和Dockerfile”吧!构建镜像的两种方法:docker commit和docker build。通过这2种方式构建出来的镜像大小都是一样的;那么既然这2种方式都一样,我们应该使用哪一种呢?用户提交对容器的修改,并生成新的镜像。特点每个指令都必须是大写执行顺序是从上到下顺序执行# 表示注释每个指令都会创建提交一个新的镜层,并提交(每个指令都是一个docker commit)dockerFile是面向开发人员的;由开发人员构建镜像,就需要写dockerFile文件,然后将镜像交付给运维直接部署即可;不需要运维配置繁杂的jvm参数命令;dockerFile正在逐渐称为企业的交付标注,所以开发人员必须要掌握;使用dockerFile创建镜像,实际上就是用脚本文件的方式创建;脚本内指令如下FROM:指定基础镜像(它的妈妈是谁)MAINTAINER:指定作者(告诉别人,是谁创造了它),一般都是姓名 + 邮箱LABEL:指定标签信息USER:设置容器运行时的用户RUN:在build过程要运行的命令 (在容器外运行,也就是在宿主机运行的命令,在这里我们可以给容器安装一些应用程序 yum install xxxx)ADD:添加文件到镜像中(往它肚子里放点东西),如果.tar.gz文件的话, 会自动解压COPY:类似ADD,将文件拷贝到镜像,不会解压压缩文件ENV:设置环境变量VOLUME:设置文件挂载(给它一个存放行李的地方),默认是匿名挂载EXPOSE:暴露端口,指定容器运行时开放的端口,运行也需要开放这个端口才能访问 docker run -d -p 8080:8080 镜像id (打开一扇窗,让风(数据)可以来去自如)CMD:容器运行时要执行的命令(在容器内运行的命令),可用来运行默认要运行的程序,只有最后一个CMD才会运行,且只运行一次ENTRYPOINT:和CMD一样,但是可以追加命令;ONBIUILD:当构建一个被继承dockerFile,这个时候就会免费云主机域名运行ONBUILD 指令,属于触发指令WORKDIR:指定工作目录,也就是登陆后默认进去的目录;指令用法FROMMAINTAINERUSER指定用户运行,默认使用root用户,在docker run 中可以通过 -u 选项来覆盖USER指令的设置。如果不是内置帐户,则必须首先创建该用户;ENVEXPOSEADDCOPY用法与ADD一致,区别是COPY指令不会解压文件CMD容器内运行命令,只能运行一个命令ENTRYPOINT容器内运行命令,用法和CMD一致,区别是可以运行多个命令CMD 和 ENTRYPOINT 的区别CMD 相同的指令只有最后一个会生效ENTRYPOINT可以追加命令;那么现在我们就自己一个tomcat的镜像,首先创建一个文件 dockerFile_1脚本内容如下,注意,脚本内的关键字必须是大写的,VOLUME 是匿名挂载的创建好脚本文件后,就可以就行构建了,注意后面那个点运行命令后展示以下信息,就表示已经构建成功了查看镜像,这就是我们刚刚创建好的镜像运行这个镜像如果需要将自己构建的镜像发送给别人,又不想通过仓库来共享,就可以用镜像保存的功能,首先我们将镜像以文件的方式保存到本地磁盘,使用save命令使用load命令加载,看到如下内容,表示镜像已经加载成功了接下来我们看看镜像已经加载好了,但是还没有名字接下来使用tag命令给这个镜像起个名字和版本号吧使用commit的话,其他人或者过一段时间后自己也不知道这个镜像是怎么做出来的,都安装了什么。。但是使用Dockerfile构建的镜像,我们能够很清楚看到是执行了哪些命令。既然使用docker commit这么不方便,那我们为什么还要学习它呢?其实仔细想一下docker build的每一步构建出来的镜像是不是就是通过docker commit构建出来的。因此学习docker commit可以让我们更好的理解docker build;其实说白了,不管是docker commit 和是dockefile,都是将目前已有的镜像经过处理后在生成一个新的镜像,它们之间的流程图如下到此,相信大家对“docker怎么打包commit和Dockerfile”有了更深的了解,不妨来实际操作一番吧!这里是百云主机网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

相关推荐: PHP常见基础算法实例分析

这篇文章主要介绍“PHP常见基础算法实例分析”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“PHP常见基础算法实例分析”文章能帮助大家解决问题。堆排序选择排序链表翻转动态规划关于“PHP常见基础算法实例分析”的内容就免费…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 05/21 16:03
下一篇 05/21 16:26

相关推荐