Dockerfile及新型容器镜像构建技术详解

centos
ubuntu
自行制作,tomcat
nginx
mysql
redis,Dockerfile是一种能够被Docker程序解释的剧本。Dockerfile由一条一条的指令组成,并且有自己的书写格式和支持的命令。当我们需要在容器镜像中指定自己额外的需求时,只需在Dockerfile上添加或修改指令,然后通过docker build生成我们自定义的容器镜像(image)。,Dockerfile及新型容器镜像构建技术详解,用于构建image
其指定的操作不会在运行image的容器上执行(FROM、MAINTAINER、RUN、ENV、ADD、COPY),用于设置image属性
其指定的操作将在运行image的容器中执行(CMD、ENTRYPOINT、USER、EXPORT、VOLUME、WORKDIR、ONBUILD),Dockerfile及新型容器镜像构建技术详解,FROM指令用于指定其构建新镜像所使用的基础镜像
FROM指令必须是Dockerfile文佳中的首条命令
FROM指令指定的基础image可以是官方远程仓库中的,也可以位于本地仓库的
格式:FROM <image>:<tag>
例如:FROM centos:latest,RUN指令用于构建镜像中执行命令,有以下两种格式,Dockerfile及新型容器镜像构建技术详解,注意:按优化的角度来讲:当有多条要执行的命令,不要使用多条RUN,尽量使用&&符号与\符号连接成一行。因为多条RUN命令会让镜像建立多层
(总之就是会变得臃肿了)。,Dockerfile及新型容器镜像构建技术详解,CMD:不同于RUN,CMD用于指定在容器启动时所要执行的命令,而RUN用于指定镜像构建时所要执行的命令,Dockerfile及新型容器镜像构建技术详解,每个Dockerfile只能有一条CMD命令。如果指定了多条命令,只有最后一条会被执行。
如果用户启动容器时候指定了运行的命令,则会覆盖掉CMD指定的命令。,EXPORT:用于指定容器在运行时监听的端口,Dockerfile及新型容器镜像构建技术详解,ENV:用于指定一个环境变量,Dockerfile及新型容器镜像构建技术详解,ADD:用于把宿主机上的文件拷贝到镜像中,Dockerfile及新型容器镜像构建技术详解,COPY:与ADD指令类似,但是COPY的源文件只能时本地文件,Dockerfile及新型容器镜像构建技术详解,ENTRYPOINT:与CMD非常类似,Dockerfile及新型容器镜像构建技术详解,VOLUME:用于把宿主机里的目录与容器里的目录映射
只指定挂载点,docker宿主机映射的目录为自动生成的,Dockerfile及新型容器镜像构建技术详解,Dockerfile及新型容器镜像构建技术详解,基础镜像信息
维护者信息
镜像操作指令
容器启动时执行指令,Dockerfile及新型容器镜像构建技术详解,第一步:创建一个文件夹(目录)
第二步:在文件夹(目录)中创建Dockerfile(固定)文件并编写,以及其他文件
第三步:使用docker build命令构建镜像
第四步:使用构建的镜像启动容器,生成镜像,运行容器,查看运行的容器,Dockerfile中包含多种指令,如果涉及到部署最多使用的算是RUN命令了,使用RUN命令时,不建议每次安装都使用一条单独的RUN命令,可
以把能够合并安装指令合并为一条,这样就可以减少镜像分层。,Dockerfile及新型容器镜像构建技术详解,优化内容如下,Dockerfile及新型容器镜像构建技术详解,一次RUN形成新的一层,如果没有在同一层删除,无论文件是否最后删除,都会带到下一层,所以要在每一层清理对应的残留数据,减小
镜像大小。
把生成容器镜像过程中部署的应用软件包做删除处理,以上就是Dockerfile及新型容器镜像构建技术详解的详细内容,更多关于Dockerfile及新型容器镜像构建的资料请关注其它相关文章!
返回顶部
跳到底部

Copyright 2011-2024 南京追名网络科技有限公司 苏ICP备2023031119号-6 乌徒帮 All Rights Reserved Powered by Z-BlogPHP Theme By open开发

请先 登录 再评论,若不是会员请先 注册