当前位置: 首页 > ds >正文

DockerFile常用关键字指令

常用关键字指令

关键字(必须大写)描述
FROM指定一个已经存在的镜像作为模板,第一条必须是FROM
MAINTAINER镜像维护者姓名和邮箱
RUN容器构建时需要运行的命令;
shell格式:RUN <命令行命令>比如RUN yum install -y vim;
exec格式:RUN [“可执行文件”,“参数1”,“参数2”]比如RUN [“./test.php”,“dev”,“offline”]等价于RUN ./test.php dev offline
RUN是在docker build时运行
EXPOSE当前容器对外暴露的端口
WORKDIR指定在创建容器后,终端默认登录进来的工作目录,一个落脚点
USER指定该镜像以什么样的用户去执行,如果不指定默认root
ENV在构建镜像过程中设置环境变量,这个环境变量可以在后续的任何RUN中使用
举例:ENV MY_PATH /usr/test;WORKDIR $MY_PATH
ADD将宿主机目录下的文件拷贝进镜像且会自动处理URL和解压tar压缩包
COPY类似ADD,拷贝文件和目录到镜像中
VOLUME容器数据卷,用于数据保存和持久化工作
CMD指定容器启动后要干的事情
Dockerfile中可以有多个CMD指令,但只有最后一个生效,CMD会被docker run之后的参数替换
和RUN命令的区别:CMD在docker run时运行;RUN在docker build运行
ENTRYPOINT也是用来指定一个容器启动时要运行的命令
类似于CMD命令,但是ENTRYPOINT不会被docker run后的的命令覆盖
有多个ENTRYPOINT时仅最后一个生效
ENTRYPOINT和CMD一起用时,CMD相当于传参给ENTRYPOINT了就会变成<ENTRYPOINT> "<CMD>"
http://www.xdnf.cn/news/10372.html

相关文章:

  • 用Slash将链接转为快捷方式
  • 深入理解交叉熵损失函数——全面推演各种形式
  • 学习STC51单片机22(芯片为STC89C52RCRC)
  • Python训练打卡Day38
  • CTFHub-RCE 命令注入-过滤运算符
  • 【Java开发日记】基于 Spring Cloud 的微服务架构分析
  • 训练中常见的运动强度分类
  • 多目标粒子群优化算法(MOPSO),用于解决无人机三维路径规划问题,Matlab代码实现
  • 用 Spring Boot 静态资源映射 vs 用 Nginx 提供静态文件服务总结
  • OldRoll复古胶片相机:穿越时光,定格经典
  • AI 的早期萌芽?用 Swift 演绎约翰·康威的「生命游戏」
  • kafka学习笔记(三、消费者Consumer使用教程——消费性能多线程提升思考)
  • AIGC学习笔记(8)——AI大模型开发工程师
  • [SC]SystemC在CPU/GPU验证中的应用(六)
  • 大语言模型值ollama使用(1)
  • 2.1HarmonyOS NEXT开发工具链进阶:DevEco Studio深度实践
  • Win10 doccano pip安装笔记
  • Redis最佳实践——安全与稳定性保障之连接池管理详解
  • python做题日记(11)
  • Go 语言的 GC 垃圾回收
  • AWTK 嵌入式Linux平台实现多点触控缩放旋转以及触点丢点问题解决
  • 使用VSCode在WSL和Docker中开发
  • 【机器学习】支持向量机
  • 手写HashMap
  • 8086 处理器 Flags 标志位全解析:CPU 的 “晴雨表” 与 “遥控器”总结:
  • Qlib量化工具介绍与使用指南
  • org.junit.runners.model.InvalidTestClassError:此类问题的解决
  • 【MySQL】索引下推减少回表次数
  • SpringBoot整合MyBatis完整实践指南
  • 5.31 day33