DockerFile 中的保留字(指令)说明

简介: FROM表示新构建的镜像是基于哪个镜像的,指定一个已存在的镜像作为模板。dockerfile中第一条必须是from

FROM

表示新构建的镜像是基于哪个镜像的,指定一个已存在的镜像作为模板。dockerfile中第一条必须是from


MAINTAINER

镜像维护者的姓名和邮箱地址


RUN

容器构建的时候需要运行的命令


有两种格式,shell格式和exec格式


shell格式,RUN 后面直接跟shell命令。例如:RUN yum -y i vim


exec格式,RUN ["可执行文件","参数1","参数2"]。例如:RUN ["./test.sh","dev","open"]


EXPOSE

当前容器对外暴露的端口


WORKDIR

在容器创建之后,终端进入容器后的默认目录


USER

指定该镜像以什么样的用户去执行,如果不指定,默认root


ENV

在构建镜像过程中设置环境变量,语法是 ENV key value


相当于在docker file脚本中定义变量,这个变量可以在当前脚本的后续指令中使用


VOLUME

定义容器数据卷,不了解容器数据卷的可以看这里:点这里


ADD

将宿主机目录下的文件拷贝到镜像中,并且会自动处理URL 自动解压tar压缩包


COPY

将宿主机目录下的文件拷贝到镜像中


CMD

指定容器启动后要干的事情,语法格式跟RUN类似,也是有两种形式


dockerfile中可以有多个CMD指令,但只有最后一个生效


CMD会被docker run 之后的参数覆盖掉


例如 docker run -it -p 8888:8888 centos /bin/bash


后面加了/bin/bash ,就会把docker file中的CMD指令覆盖掉


和RUN指令的区别就是,RUN是在docker build 构建的时候运行,CMD是在docker run 启动的时候运行


ENTRYPOINT

也是用来指定一个容器启动时要运行的命令


类似于CMD,但是不会被覆盖


搭配CMD一起使用时,CMD变成可变参数,可以被docker run时传的参数替换掉


例如:


ENTRYPOINT ["nginx","-c"]


CMD ["/etc/nginx/nginx.conf"]


直接运行


docker run nginx


相当于nginx -c /etc/nginx/nginx.conf


传参运行


docker run nginx -c /xxx.conf


相当于 nginx -c /xxx.conf


相关文章
|
监控 安全
IT治理:确保IT与业务目标一致的关键路径
【6月更文挑战第22天】IT治理确保了IT与业务目标的一致性,关键策略包括战略对齐、清晰的IT规划、关注业务需求、设定绩效指标、风险管理及持续改进。通过这些措施,企业能有效利用IT资源支持业务发展,实现数字化时代的成功转型和长期增长。
|
12月前
|
JavaScript 前端开发 API
vue3中常用插件的使用方法:按需引入自定义组件,自动导入依赖包,自动生成路由,自动生成模拟数据
vue3中常用插件的使用方法:按需引入自定义组件,自动导入依赖包,自动生成路由,自动生成模拟数据
1982 0
|
Unix Shell Windows
随笔:What is Bash? What is shell?
随笔:What is Bash? What is shell?
167 1
|
C语言
c语言编写程序(打印9*9乘法表)
c语言编写程序(打印9*9乘法表)
165 1
【每日一题】3.LeetCode——相交链表
【每日一题】3.LeetCode——相交链表
|
关系型数据库 MySQL 数据库
MySQL读写分离从库配置:Slave_IO_Running: No 的解决
MySQL读写分离从库配置:Slave_IO_Running: No 的解决
403 0
MySQL读写分离从库配置:Slave_IO_Running: No 的解决
Zp
mybatis-plus更新字段的时候设置为null,忽略实体null判断
mybatis-plus更新字段的时候设置为null,忽略实体null判断
Zp
4729 0
mybatis-plus更新字段的时候设置为null,忽略实体null判断
|
C++
C++ 各种无符号整型能够在溢出之前计算出斐波那契数列的最大项数是几?答案是24、47、93
C++ 各种无符号整型能够在溢出之前计算出斐波那契数列的最大项数是几?答案是24、47、93
165 0
|
监控 Linux
linux性能监控:CPU监控命令之pidstat命令
linux性能监控:CPU监控命令之pidstat命令
680 0
linux性能监控:CPU监控命令之pidstat命令
|
JavaScript 前端开发
web前端-JavaScript标识符和数据类型/强制类型转换
web前端-JavaScript标识符和数据类型/强制类型转换
198 0