Dockerfile介绍以及指令学习
1,dockerfile简介:
dockerfile是用来构建docker镜像的文件!简单来说就是参数脚本!
构建步骤:
(1),编写一个dockerfile文件
(2),docker build 构建成为一个镜像
(3),docker run 运行镜像的容器
(4),docker push 发布镜像(dockerhub、阿里云镜像)
我们看一下官方是怎么做的
很多官方的镜像都是基础包,很多命令都没有,我们通常会自己搭建自己的镜像!
官方既然可以制作镜像,我们也就可以!!!
2,dockerfile构建过程
基础知识:
(1)每个保留关键字(指令)都必须是关键字
(2)执行从上到下执行
(3)#表示注释
(4)每一个指令都会创建提交一个新的镜像层,并提交。
dockerfile是面向开发的,我们以后要发布项目,做镜像,就需要编写dockerfile文件,这个文件十分简单!
docker镜像逐渐成为企业交付的标准,必须要掌握!
开发,部署,运维……缺一不可
3,理解:
dockerfile:构建文件,定义了一切的步骤,源代码
dockerimages:原来是jar,war包,现在通过dockerfile构建生成镜像,最终发布和运行产品
docker容器:容器就是镜像运行起来的提供服务器
4,dockerfile指令说明
FROM 基础镜像,一切从这里开始
MAINTAINER 镜像是谁写的,姓名+邮箱号
RUN 运行的命令
ADD 添加压缩包内容,比如tomcat
WORKDIR 镜像的工作目录
VOLUME 挂载的目录
EXPOSE 暴露端口
CMD 指定这个容器启动运行时的命令,只有最后一个会生效,可被替代
ENTRYPOINT 指定这个容器启动运行时的命令,可以追加命令
ONBUILD 当构建一个被继承dockerfile的时候,就会运行ONBUILD的指令。触发指令
(ONBUILD是一个特殊的指令它后面跟的是其它指令,比如 RUN, COPY 等,而这些指令,在当前镜像构建时并不会被执行。
只有当以当前镜像为基础镜像,去构建下一级镜像的 时候才会被执行)
COPY 类似ADD,将我们的目录拷贝到镜像中
ENV 构建的时候设置环境变量
以前我们都是用别人的,现在我们知道了这些指令后,就可以自己写了镜像了!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通