Docker的分解分析

一、Docker的镜像构建文件Dockerfile,以下是Dockerfile中的一些指令。

二、RUN、CMD和ENTRYPOINT可以通过Shell和Exec方式运行命令,CMD和ENTRYPOINT推荐使用Exec格式,其可读性更强。

1、shell格式

RUN yum install -y vim

CMD echo "hello zhurs"

ENTRYPOINT echo "hello zhurs"

#运行容器时返回如下结果

hello zhurs

当指令执行时,Shell格式会调用/bin/sh -c [command]

2、Exec格式

【"executable","param1","param2"...】

RUN ["yum","install","-y","vim"]

CMD ["bin/echo","zhurs"]

ENV wd world

ENTRYPOINT ["bin/echo","hello,$wd"]

#运行容器时返回如下结果

hello $wd

如果想要使用环境变量,可做如下操作

RUN ["yum","install","-y","vim"]

CMD ["bin/echo","zhurs"]

ENV wd world

ENTRYPOINT ["bin/sh","-c","/bin/echo","hello, $wd"]

#此时就会返回如下结果

hello world

RUN指令通常用于安装应用和软件包,每条RUNzhi

相关推荐
杨云龙UP36 分钟前
ODA登录ODA Web管理界面时提示Password Expired的处理方法_20260423
linux·运维·服务器·数据库·oracle
songx_991 小时前
Linux基础2
linux·运维·服务器
陈皮糖..2 小时前
27 届运维实习笔记|第三、四周:从流程熟练到故障排查,企业运维实战深化
运维·笔记·sql·nginx·ci/cd·云计算·jenkins
莫白媛2 小时前
Linux在限制敏感命令下的修改用户密码小白版
linux·运维·服务器
2601_949814693 小时前
Docker部署Spring Boot + Vue项目
vue.js·spring boot·docker
hhb_6183 小时前
C Shell 基础语法与高阶运维实战指南
运维·c语言·chrome
雨奔4 小时前
Kubernetes StatefulSet 详解:有状态服务的部署与管理实战
云原生·容器·kubernetes
成为你的宁宁4 小时前
【K8s ConfigMap 配置管理创建、挂载与热更新实践】
云原生·容器·kubernetes
爱学习的小囧5 小时前
VMware vCenter Server 9.0.2.0 资源详解+完整部署教程+下载指南+常见问题
运维·服务器·esxi·vmware·虚拟化·esxi9.0.2.0
贾斯汀玛尔斯5 小时前
每天学一个算法--单调栈(Monotonic Stack)
运维·服务器·算法